WPF中BitmapImage对象切割
我想要像GDI+中那样,把wpf中的BitmapImage取指定部分。换句话说,就是把一个bitmapimage对象,切割成几份?如果能告知把BitmapImage对象转...
我想要像GDI+中那样,把wpf中的BitmapImage取指定部分。换句话说,就是把一个bitmapimage对象,切割成几份?
如果能告知把BitmapImage对象转换成Bitmap也行,我先用GDI+切,然后转回去。 展开
如果能告知把BitmapImage对象转换成Bitmap也行,我先用GDI+切,然后转回去。 展开
2个回答
展开全部
在WPF中可以使用Int32Rect来切割图片,当然你要转换也可以,刚刚回复了你的评论,写得很简略,这里给你一个转换的方法吧:
Bitmap BitmapSourceToBitmap(BitmapSource source)
{
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(source.PixelWidth, source.PixelHeight, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
BitmapData bitmapData = bitmap.LockBits(new System.Drawing.Rectangle(System.Drawing.Point.Empty, bitmap.Size), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
source.CopyPixels(Int32Rect.Empty, bitmapData.Scan0, bitmapData.Height * bitmapData.Stride, bitmapData.Stride);
bitmap.UnlockBits(bitmapData);
return bitmap;
}
希望对你有帮助,有疑问请追问或是Hi
Bitmap BitmapSourceToBitmap(BitmapSource source)
{
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(source.PixelWidth, source.PixelHeight, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
BitmapData bitmapData = bitmap.LockBits(new System.Drawing.Rectangle(System.Drawing.Point.Empty, bitmap.Size), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
source.CopyPixels(Int32Rect.Empty, bitmapData.Scan0, bitmapData.Height * bitmapData.Stride, bitmapData.Stride);
bitmap.UnlockBits(bitmapData);
return bitmap;
}
希望对你有帮助,有疑问请追问或是Hi
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询