目前,我在面板中使用图片框来显示图片。我已经实现了一个通过鼠标光标移动图像的逻辑。如何裁剪和保存图像的可见部分?
我的问题是,如果图像的尺寸大于面板(图片框的SizeMode=AutoSize
),我想裁剪并保存在面板上显示的图像的部分大。我不知道该怎么做。我是一个begginer,我没有任何这方面的经验。
目前,我在面板中使用图片框来显示图片。我已经实现了一个通过鼠标光标移动图像的逻辑。如何裁剪和保存图像的可见部分?
我的问题是,如果图像的尺寸大于面板(图片框的SizeMode=AutoSize
),我想裁剪并保存在面板上显示的图像的部分大。我不知道该怎么做。我是一个begginer,我没有任何这方面的经验。
您可以使用此代码即可裁剪图片..
private static Image cropImage(Image img, Rectangle cropArea)
{
Bitmap bmpImage = new Bitmap(img);
Bitmap bmpCrop = bmpImage.Clone(cropArea,bmpImage.PixelFormat);
return (Image)(bmpCrop);
}
也看到这些教程..
http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing
http://jasonjano.wordpress.com/2010/02/13/image-resizing-and-cropping-in-c/
thanx ..但我想找到面板的像素(X轴和Y轴),我不知道该怎么做.. – user1931313
请参阅相关主题..http://stackoverflow.com/questions/8553794/how-to-get-bitmap-from-painted-panel-in-c-sharp http://stackoverflow.com/questions/476255/access -to-A-单像素在-C-尖锐 – ridoy
可能重复http://stackoverflow.com/a/734941/ 1042848 –
可能重复[如何使用C#裁剪图像?](http://stackoverflow.com/questions/734930/how-to-crop-an-image-using-c) – Tilak