/************************************************************************/
/* oldImageFilePath:要进行裁剪的图片PATH
* CropImagePath:用来保存裁剪图片的PATH
* x:x坐标
* y:y坐标
* w:宽度
* h:高度
* scale:对原图进行缩放的比例
/************************************************************************/
private bool CreteCropImage(string oldImageFilePath,string CropImagePath,int x,int y,int w,int h,int scale)
{
System.Drawing.Image sImage;
sImage = System.Drawing.Image.FromFile(oldImageFilePath);
Bitmap bitmap = new Bitmap(w, h, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bitmap);
//g.Clear(Color.Transparent);
//Rectangle destRect=new Rectangle(0, 0, w, h);
//g.DrawImage(sImage,destRect,x*(100/scale), y*(100/scale), sImage.Width*(100/scale),sImage.Height*(100/scale),GraphicsUnit.Pixel);
Rectangle destRect=new Rectangle(x*(scale/100), y*(scale/100), sImage.Width*(scale/100),sImage.Height*(scale/100));
g.DrawImage(sImage,destRect,0, 0, w,h,GraphicsUnit.Pixel); //MemoryStream ms=new MemoryStream();
//bitmap.Save(ms, ImageFormat.Jpeg); 
//ms.GetBuffer();
//FileStream f = new FileStream(CropImagePath, FileMode.Create);
///把内内存里的数据写入物理文件
//ms.WriteTo(f);
//ms.Close();
//f.Close();
//f = null;
//ms = null;
//bitmap.Dispose();
//sImage.Dispose();
/******************************************************************************************************************/ Response.ContentType="image/jpeg";//指定输出格式为图形
bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
g.Dispose();
bitmap.Dispose();
sImage.Dispose(); return true;
}上面我的处理过程。可是裁剪。但是位置不对。
请有做过的帮我看看。哪几个坐标要怎么定才对。
谢谢。