在我的wpf软件中,我有一个图像(来自相机)我想在WPF画布中绘制:
以下是观点:
<ScrollViewer Background="{StaticResource HatchBrush}">
<Canvas Name="CanvasTarget" HorizontalAlignment="Left" VerticalAlignment="Top" RenderTransformOrigin=".5, .5">
</Canvas>
</ScrollViewer>
以下是
背后的代码 Messenger.Default.Register<Bitmap>(this, (bmp) =>
{
CanvasTarget.Dispatcher.BeginInvoke((Action)(() =>
{
ImageConverter.Conv8bppTo24(bmp, writeableBitmap);
CanvasTarget.Background = new ImageBrush(writeableBitmap);
}));
});
因此,每次相机拍摄图像(30Hz)时,都会调用CanvaTarget.Dispatcher
。
问题是:画布中没有显示图像背景,滚动查看器中没有图像。
我确定我的writeableBitmap
很好并且代码被调用,因为如果我用Image Control替换Canvas而Source属性替换Background属性,那么一切正常。