如何生成图像 Thumb 最小编码

Posted

技术标签:

【中文标题】如何生成图像 Thumb 最小编码【英文标题】:How to generate image Thumb minimal coding 【发布时间】:2014-04-04 10:39:38 【问题描述】:

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

【问题讨论】:

【参考方案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

【讨论】:

【参考方案2】:

我不建议使用“Image.GetThumbnailImage”方法,因为质量很差 (在您喜欢的搜索引擎上搜索“Image.GetThumbnailImage 质量”...)

这是一个代码sn-p:

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");

【讨论】:

以上是关于如何生成图像 Thumb 最小编码的主要内容,如果未能解决你的问题,请参考以下文章

自定义WPF滑块,图像为Thumb

android开发中如何设置seekbar的最小值?

node.js 如何从图像创建缩略图?

如何在 PHP 中生成 300X200 尺寸的图像缩略图?

ImageMagick:如何将图像最小化为特定宽高比?

怎么求一幅图像的最小生成树