How can I write an application that will crop images in C#?
+8
A:
Check out this link: http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing
private static Image cropImage(Image img, Rectangle cropArea)
{
Bitmap bmpImage = new Bitmap(img);
Bitmap bmpCrop = bmpImage.Clone(cropArea,
bmpImage.PixelFormat);
return (Image)(bmpCrop);
}
Nick
2009-04-09 16:23:16
+1 This link shows the simplest way to crop that I have come across.
Ronnie Overby
2010-08-03 15:46:41
+17
A:
You can use Graphics.DrawImage
to draw a cropped image onto the graphics object from a bitmap.
Rectangle cropRect = new Rectangle(...);
Bitmap src = Image.FromFile(fileName) as Bitmap;
Bitmap target = new Bitmap(cropRect.Width, cropRect.Height);
using(Graphics g = Graphics.FromImage(target))
{
g.DrawImage(src, cropRect,
new Rectangle(0, 0, target.Width, target.Height));
}
Daniel LeCheminant
2009-04-09 16:23:31
A:
It's quite easy:
- Create a new
Bitmap
object with the cropped size. - Use
Graphics.FromImage
to create aGraphics
object for the new bitmap. - Use the
DrawImage
method to draw the image onto the bitmap with a negative X and Y coordinate.
Guffa
2009-04-09 16:25:50
+1
A:
Here is a tutorial on image editing including saving, cropping, and resizing
The included example of cropping is quite straightforward:
private static Image cropImage(Image img, Rectangle cropArea)
{
Bitmap bmpImage = new Bitmap(img);
Bitmap bmpCrop = bmpImage.Clone(cropArea,
bmpImage.PixelFormat);
return (Image)(bmpCrop);
}
Colin Pickard
2009-04-09 16:27:28
A:
Assuming you mean that you want to take an image file (JPEG, BMP, TIFF, etc) and crop it then save it out as a smaller image file, I suggest using a third party tool that has a .NET API. Here are a few of the popular ones that I like:
JohnFx
2009-04-09 16:29:48
A:
Here's a simple example on cropping an image
public Image Crop(string img, int width, int height, int x, int y)
{
try
{
Image image = Image.FromFile(img);
Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);
bmp.SetResolution(80, 60);
Graphics gfx = Graphics.FromImage(bmp);
gfx.SmoothingMode = SmoothingMode.AntiAlias;
gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;
gfx.PixelOffsetMode = PixelOffsetMode.HighQuality;
gfx.DrawImage(image, new Rectangle(0, 0, width, height), x, y, width, height, GraphicsUnit.Pixel);
// Dispose to free up resources
image.Dispose();
bmp.Dispose();
gfx.Dispose();
return bmp;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
PsychoCoder
2009-04-10 16:33:44