求对缩小图片尺寸代码

豆丁_ 2008-09-08 09:48:22
怎么说呢,举例:将一张分辨率大于800X600的图缩小到800X600的格式,尺寸是可控的,但是只是缩小,并且不更改原来的图片,找到了一个GetThumbnailImage()的方法,但是处理出来的图片非常的模糊
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆丁_ 2008-09-08
  • 打赏
  • 举报
回复
谢谢3楼的,OK了
aimeast 2008-09-08
  • 打赏
  • 举报
回复
hflkl1314 2008-09-08
  • 打赏
  • 举报
回复
/// <summary>
/// 将一张指定图片另存为一张指定尺寸的图片
/// </summary>
/// <param name="oldfile">原图</param>
/// <param name="newfile">新图</param>
/// <param name="width">新图宽</param>
/// <param name="height">新图高</param>
/// <returns></returns>
public bool Compress(Stream oldfile, string newfile, int width, int height)
{
try
{
System.Drawing.Image img = System.Drawing.Image.FromStream(oldfile);
System.Drawing.Imaging.ImageFormat thisFormat = img.RawFormat;
Size newSize = new Size(width, height);
Bitmap outBmp = new Bitmap(newSize.Width, newSize.Height);
Graphics g = Graphics.FromImage(outBmp);
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(img, new Rectangle(0, 0, newSize.Width, newSize.Height), 0, 0, img.Width, img.Height, GraphicsUnit.Pixel);
g.Dispose();
EncoderParameters encoderParams = new EncoderParameters();
long[] quality = new long[1];
quality[0] = 100;
EncoderParameter encoderParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
encoderParams.Param[0] = encoderParam;
ImageCodecInfo[] arrayICI = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo jpegICI = null;
for (int x = 0; x < arrayICI.Length; x++)
if (arrayICI[x].FormatDescription.Equals("JPEG"))
{
jpegICI = arrayICI[x];//设置JPEG编码
break;
}
img.Dispose();
if (jpegICI != null)
outBmp.Save(newfile, System.Drawing.Imaging.ImageFormat.Jpeg);
else
outBmp.Save(newfile, System.Drawing.Imaging.ImageFormat.Jpeg);
outBmp.Dispose();
return true;
}
catch
{
return false;
}
}
qq283617300 2008-09-08
  • 打赏
  • 举报
回复
没研究过~~帮你顶下
豆丁_ 2008-09-08
  • 打赏
  • 举报
回复
自己up
hflkl1314 2008-09-08
  • 打赏
  • 举报
回复
没啥 本来就有的代码
大家共享嘛

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧