thanks to ASP.NET Image / Photo Cropper in C#
You can skip to the demo by clicking here
You can download the source code by clicking here
Sanjay Uttam used javascript obtained from http://www.defusion.org.uk/code/javascript-image-cropper-ui-using-prototype-scriptaculous/
Source : PhotoCropperASP.NetC#.zip (501.17 kb)
XPS Doc: ASP.NET C# - Image Or Photo Cropping.xps (547.48 kb)
protected byte[] CropImageFile(byte[] imageFile, int targetW, int targetH, int targetX, int targetY)
{
MemoryStream imgMemoryStream = new MemoryStream();
System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(new MemoryStream(imageFile));
Bitmap bmPhoto = new Bitmap(targetW, targetH, PixelFormat.Format24bppRgb);
bmPhoto.SetResolution(72, 72);
Graphics grPhoto = Graphics.FromImage(bmPhoto);
//Adjust settings to make this as high-quality as possible
grPhoto.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
grPhoto.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
grPhoto.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
try
{
grPhoto.DrawImage(imgPhoto, new Rectangle(0, 0, targetW, targetH),
targetX, targetY, targetW, targetH, GraphicsUnit.Pixel);
//Only JPG format for this demo
bmPhoto.Save(imgMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception e)
... //removed code to stay concise
return imgMemoryStream.GetBuffer();
}