Create WriteableBitmap from UIControl WPF
本文关键字:WPF UIControl from WriteableBitmap Create | 更新日期: 2023-09-27 18:06:49
我目前正在将Silverlight应用程序转换为WPF。在我的silverlight应用程序中,我有代码
WriteableBitmap sceneBitmap = new WriteableBitmap(scene, new TranslateTransform() { Y = 10 });
WriteableBitmap newone = TimelineMainHelper.CropImage(sceneBitmap, 0, 0, sceneBitmap.PixelWidth, sceneBitmap.PixelHeight - 25);
newone.Invalidate();
img.Source = newone;
其中scene是控件。当把它放入WPF时,writeablebitmap类没有重载,它以UIElement和Transform作为参数。首先,我想知道为什么会这样?其次,我想知道是否有一种方法来控制writeablebitmap
我相信您会想要使用RenderTargetBitmap
和CroppedBitmap
:
RenderTargetBitmap rtb = new RenderTargetBitmap((int)scene.ActualWidth, (int)scene.ActualHeight, 96, 96, System.Windows.Media.PixelFormats.Pbgra32);
rtb.Render(this.sceneBitmap);
CroppedBitmap crop = new CroppedBitmap(sceneBitmap, new Int32Rect(0, 0, (int)sceneBitmap.ActualWidth, (int)sceneBitmap.ActualHeight));
然后你可以这样做:
System.Windows.Controls.Image img = new Image();
img.Source = crop;
从那里开始。
免责声明:
你可能需要使用不同的重载和什么不做你想做的。