System.Drawing.Image thumbnailImage = oldimage.GetThumbnailImage(towidth, toheight, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
Bitmap bm = new Bitmap(thumbnailImage); Bitmap bmpOut = new Bitmap(StartX, StartY);
if (width > StartX || height > StartY)
{ Graphics g = Graphics.FromImage(bmpOut);
g.DrawImage(bm, StartX, StartY);
g.Dispose(); }
//处理JPG质量的函数
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == "image/jpeg")
ici = codec;
}
EncoderParameters ep = new EncoderParameters();
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)level);
//bm.Save(HttpContext.Current.Server.MapPath(newImagePath + imgName), ici, ep);
bm.Save(HttpContext.Current.Server.MapPath(newImagePath + imgName), ici, ep);
是不是哪里写错啦
这里的StartX 和StartY 我指定的是100 如果bm的宽或者高 大于100的话 我就想截取BM的 长和宽 按100来裁剪但是我貌似没有画出来
Graphics g = Graphics.FromImage(bmpOut);
g.DrawImage(bm, StartX, StartY);
我这里用bmpOut创建画笔 绘制bm的 宽和高为100 为什么画布上去呢 可能我对方法的用法理解错啦 求教
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货