关于图像生成略缩图的问题,我可以拿我的代码做交换。

parsely parsely 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家好:
我上次问了一次关于图像生成略缩图的问题 panyee(快乐王子) 给我的回复如下,不过我水平太低,实际中我还是没做成功。有哪位高手能有这方面现成的代码可以介鉴一下吗,如果可以的话,我们本着互相帮助,互相学习的态度,我把我的这个http://www.htjj.com/index.aspx 人才网源代码(C#+sqlserver2000)做交换。


//原始图片名称
string originalFilename = "c:\\222.jpg";
//生成的高质量图片名称
string strGoodFile = "c:\\222-small-good.jpg";
//生成的低质量图片名称
string strBadFile = "c:\\222-small-bad.jpg";
//缩小的倍数
int iScale = 3;

//从文件取得图片对象
System.Drawing.Image image = System.Drawing.Image.FromFile(originalFilename);
//取得图片大小
System.Drawing.Size size = new Size(image.Width / iScale , image.Height / iScale);
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width,size.Height);
//新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空一下画布
g.Clear(Color.Blue);
//在指定位置画图
g.DrawImage(image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
new System.Drawing.Rectangle(0, 0, image.Width,image.Height),
System.Drawing.GraphicsUnit.Pixel);
//保存高清晰度的缩略图
bitmap.Save(strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg);
//取得原图像的普通缩略图
System.Drawing.Image img = image.GetThumbnailImage(image.Width / iScale, image.Height / iScale, null, IntPtr.Zero);
//保存普通缩略图
img.Save(strBadFile, System.Drawing.Imaging.ImageFormat.Jpeg);

g.Dispose();
MessageBox.Show("生成完毕");
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
parsely
.NET社区 62,272 成员 668,968 内容