图片缩略问题
网络上很多的生成缩略图的代码,但生成的代码压缩率太高,造成图片失真.我用的方法也是这样:
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
已将质量设到最高,还是这样,上传一个200K的图片,会缩到不到20K,请问各位高手,如何能将质量改变呢?比如蜂鸟的图库的缩略,这个效果就非常好
------解决方案--------------------http://blog.csdn.net/zhoufoxcn/archive/2007/01/04/1474167.aspx
这是我自己做的一个图片缩略软件,可以批量缩略图片,还可以按照设置大小或者比率来调整。
------解决方案--------------------不过我的思路跟他们的不一样,或许内部原理是一样吧。
------解决方案--------------------private void ShowThumbnail(string oldfile, string newfile, int h, int w)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(oldfile);
System.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
int oldh = img.Height;
int oldw = img.Width;
int newh,neww;
double h1 = oldh*1.0/h;
double w1 = oldw*1.0/w;
double f = (h1> w1)? h1:w1;
if(f < 1.0)
{
newh = oldh;
neww = oldw;
}
else
{
newh = (int)(oldh/f);
neww = (int)(oldw/f);
}
System.Drawing.Image myThumbnail = img.GetThumbnailImage(neww, newh, myCallback, IntPtr.Zero);
myThumbnail.Save(newfile, System.Drawing.Imaging.ImageFormat.Jpeg);
img.Dispose();
myThumbnail.Dispose();
}
private bool ThumbnailCallback()
{
return false;
}
------解决方案--------------------http://www.wave12.com/web/home.asp
缩略图水印组件wsImage3.5