fix(web): CropBounds metadata + Fill-style scaling in compositor — transparent margins preserved, widget fills element rect

This commit is contained in:
2026-09-08 11:17:05 -07:00
parent 5ca9778e23
commit ed9d7c1ffc
3 changed files with 51 additions and 17 deletions
+5 -1
View File
@@ -270,7 +270,11 @@ public sealed class WebView2Manager : IDisposable
session.PreviewBitmap = new WriteableBitmap(cropW, cropH, 96, 96, PixelFormats.Bgra32, null);
session.PreviewBitmap.WritePixels(new Int32Rect(0, 0, cropW, cropH), outPixels, cropW * 4, 0);
session.LatestFrame = new VideoFrame(pixW, pixH, pixels) { Epoch = ++session.Epoch };
session.LatestFrame = new VideoFrame(pixW, pixH, pixels)
{
Epoch = ++session.Epoch,
CropBounds = (cropX, cropY, cropW, cropH),
};
// The preview bitmap is now MUTABLE and reused (CameraManager precedent):
// WPF re-renders it after WritePixels; handlers must not Freeze it.