如何生成图像Thumb最小编码

时间:2014-03-03 11:37:52

标签: asp.net image thumbnails

如何在asp.net上以简单的方式生成图像作为Thumb 我认为最小编码, 然后再如何保存特定文件夹

2 个答案:

答案 0 :(得分:1)

我试过这么酷...... !!,

 public void ThumbGenerate(string sourcepath,string thumbsavepath, int width, int height)
    {
        Image image = Image.FromFile(sourcepath);
        Image thumb = image.GetThumbnailImage(width, height, () => false, IntPtr.Zero);
        thumb.Save(Path.ChangeExtension(thumbsavepath, "jpg"));
   }

注意:你可以改变你想要的扩展名jpg,jpeg,png

答案 1 :(得分:1)

由于质量差,我不建议使用“Image.GetThumbnailImage”方法 (在您最喜爱的搜索引擎上搜索“Image.GetThumbnailImage quality”)。

以下是代码段:

void GenerateThumbnail(string sourceImagePath, string destImagePath, int width, int height, System.Drawing.Imaging.ImageFormat destImageFormat)
{
    using (var destImage = new System.Drawing.Bitmap(width, height))
    {
        using (var g = System.Drawing.Graphics.FromImage(destImage))
        {
            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;                    
            g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;

            using (var sourceImage = System.Drawing.Image.FromFile(sourceImagePath))
            {
                g.DrawImage(sourceImage, new System.Drawing.Rectangle(0, 0, width, height));
            }

            destImage.Save(destImagePath, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
    }
}
  • 或 - 您可以使用Piczard(Piczard

以下是一些使用示例:

// 50% thumbnail (Jpeg image format)
var filter = new CodeCarvings.Piczard.ImageTransformation(50);
filter.SaveProcessedImageToFileSystem("~/MySourceImage.jpg", "~/MyDestImage.jpg");

// Fixed size thumbnail 400x200 (PNG image format)
var filter2 = new CodeCarvings.Piczard.FixedResizeConstraint(400, 200);
filter.SaveProcessedImageToFileSystem("~/MySourceImage2.jpg", "~/MyDestImage2.png");