原文 WPF:通过BitmapSource的CopyPixels和Create方法来切割图片
BitmapSource是WPF图像的最基本类型,它同时提供两个像素相关的方法就是CopyPixels和Create方法。使用这两个方法可以切割图片中的一部分,类似另一个BitmapSource的子类:CroppedBitmap类型。
CopyPixels方法需要提前初始化数组,同时还可以指定一个矩形(Int32Rect类型)来表示所占区域的大小。计算好图像每行所占字节数(Stride参数)和偏移量(Offset参数,通常是0)就可以正确调用CopyPixels了。接着使用填充后的数组,调用Create方法,另一个被切割的部分图像对象就生成了。
切割矩形的值代表图像像素的位置,比如一个200*200像素的图像,我们要四分之一部分的右上角,那么矩形的定义就是:new Int32Rect(100, 0, 100, 100);
在界面上定义两个Image控件:img1和img2
<UniformGrid Rows="1">
<Image Name="img1"/>
<Image Name="img2"/>
</UniformGrid>
背后操作代码