首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用system.drawing的图像升级比photoshop提供更大的文件大小

使用system.drawing的图像升级比photoshop提供更大的文件大小
EN

Stack Overflow用户
提问于 2014-06-19 13:10:38
回答 1查看 141关注 0票数 0

我正试图使用system.drawing来增加上传图像的大小。它可以工作,但文件大小要比我使用Photoshop做的要大得多。这是我必须处理的问题,还是有办法减少文件大小?

我正在使用这段代码,并对Drawing2d设置进行了调整,但这并没有产生明显的差别。

代码语言:javascript
复制
resizedImage = New Bitmap(newWidth, newHeight, image.PixelFormat)
graphics = graphics.FromImage(resizedImage)

graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality
graphics.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
graphics.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality

graphics.FillRectangle(Brushes.White, 0, 0, newWidth, newHeight)
graphics.DrawImage(image, 0, 0, newWidth, newHeight)

为了达到更好的效果,我是否需要使用一个专用的库?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-19 13:18:15

这里的参数影响的是图像的“呈现”,而不是“图像文件大小”。

若要影响图像文件大小,需要使用Image.Save法保存jpeg的质量。

这是来自MSDN示例的一段代码,说明如何降低图像文件的大小。

代码语言:javascript
复制
    // Save the bitmap as a JPEG file with quality level 25.
    myEncoderParameter = new EncoderParameter(myEncoder, 25L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    // and now save it to the file
    myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24307437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档