0
我将图片加载到excel页面,一旦完成此excel大约48,284 KB这是很大,影响下载速度,并不是我们想要实现的效率。减小位图图像的物理大小?
我试图尽可能减少这个Excel文件的大小,并认为减小图像大小会做的伎俩,因为没有图像的Excel文件大约1000 kb。
这是我迄今没有影响的尝试:
public Image ReduceImageSize(Image img)
{
float iwidth = 150;
float iheight = 150;
var brush = new SolidBrush(Color.Black);
var Resizedimage = new Bitmap(img);
float scale = Math.Min(iwidth/Resizedimage.Width, iheight/Resizedimage.Height);
var graph = Graphics.FromImage(Resizedimage);
graph.InterpolationMode = InterpolationMode.Low;
graph.CompositingQuality = CompositingQuality.Default;
graph.SmoothingMode = SmoothingMode.None;
var scaleWidth = (int)(Resizedimage.Width * scale);
var scaleHeight = (int)(Resizedimage.Height * scale);
graph.FillRectangle(brush, new RectangleF(0, 0, iwidth, iheight));
graph.DrawImage(Resizedimage, new Rectangle(((int)iwidth - scaleWidth)/2, ((int)iheight - scaleHeight)/2, scaleWidth, scaleHeight));
return Resizedimage;
}
此时我正在寻找任何方式,以减少大小,如果它涉及失去一些质量或缩小图像尺寸。
请帮忙。
他们出来只是黑色的? – Pomster
对不起,我还不够清楚。我的代码将解决您的尺寸问题。所有关于缩放的代码都必须重新编写。查看我的编辑以获取示例解决方案。 – wonko79