C#学习教程:在C#中将位图放置在画布上我想要的很简单。我正在尝试将BitmapImage放入C#中的Canvas中。我的应用程序基于WPF。我搜索过这个,我发现了类似的问题,但我找不到我要找的东西。简而言之,我有这个:BitmapImageimg=newBitmapImage(newUri("c:\xyz.jpg"));我想把它放在画布上,意思没那么重要,可以是长方形什么的。BitmapImage对象不能放在Canvas上,因为它不是控件。您可以做的是从Canvas派生您自己的类并覆盖OnRender()方法来绘制您的位图。基本上是这样的:classCanvasWithBitmap:Canvas{publicCanvasWithBitmap(){_image=newBitmapImage(newUri(@"c:xyz.jpg"));}protectedoverridevoidOnRender(DrawingContextdc){dc.DrawImage(_image,newRect(0,0,_image.PixelWidth,_image.PixelHeight));}私有BitmapImage_image;}当然,你可能需要通过属性暴露Canvas的文件路径和坐标。如果不想声明自己的类只是为了绘制位图,那么就不能直接使用BitmapImage类。显示图片的控件是Image,我们试试这个:BitmapImagebitmap=newBitmapImage();位图.BeginInit();bitmap.UriSource=newUri(@"c:xyz.jpg");位图.EndInit();图片image=newImage();image.Source=位图;现在您可以将Image控件放置在Canvas上。以上就是《C#学习教程:C#中将Bitmap放入Canvas中》的全部内容分享。如果对你有用,需要进一步了解《C#学习教程》,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
