本文告诉大家如何通过 DrawingContext 绘制图片,同时指定绘制图片在画布的某个区域和绘制出来的图片大小,如何裁剪图片
在 WPF 中可以使用 DrawingVisual 进行底层的绘制,底层的绘制的效率是比较高的,但是因为 WPF 的界面需要的是 UIElement 如果想要添加 DrawingVisual 还需要写一个帮助类
将这个 Element 加入到界面
然后在构造函数添加一张图片,这时需要拖动一张图片进入解决方案
现在可以看到图片在 100,100 的坐标画出,此时图片为被缩放到 50x50 也就是缩放画图片到指定的 Rect 上
裁剪图片
如果只是需要画出被裁剪的图片,可以使用 CroppedBitmap 进行裁剪
在 CroppedBitmap 的构造可以传入需要裁剪的图片和如何裁剪,裁剪是进行矩形的裁剪
如下面代码是裁剪矩形从图片的左上角 50x50 范围
将两个图片同时画出来
需要需要裁剪圆形,可以依靠 PushClip 裁剪
下面代码裁剪一个圆形的范围,从圆心 30x30 开始裁剪半径为 20 的范围
使用裁剪之后的图片
原文链接: http://blog.lindexi.com/post/WPF-%E9%80%9A%E8%BF%87-DrawingContext-DrawImage-%E7%BB%98%E5%88%B6%E5%9B%BE%E7%89%87
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。