日期:2014-05-20  浏览次数:20922 次

C#创建缩略图的问题,如何设定压缩率?
我用下面的代码为1.jpg创建一张缩图,生成的400*400的新图只有12KB,而且质量较差,如果对同一张原图用photoshop,同样400*400的新图有100KB,质量也更好。
请问GetThumbnail如何设置压缩率?
Image.GetThumbnailImageAbort   myCallback=new   Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap   myBitmap=new   Bitmap(@ "C:\1.jpg ");
Image   myThumbnail=myBitmap.GetThumbnailImage(400,400,myCallback,IntPtr.Zero);
myThumbnail.Save(@ "C:\2.jpg ",System.Drawing.Imaging.ImageFormat.Jpeg);


------解决方案--------------------
当所请求的缩略图大小约为 120×120 时,GetThumbnailImage 工作正常。如果从一个有嵌入式缩略图的 Image 对象中请求一个较大的缩略图像(比如 300×300),则在缩略图像的质量会有显著的降低。通过调用 DrawImage 缩放主图像(而非嵌入式缩略图),则效果可能较好。