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

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

【问题讨论】:

    标签: asp.net image thumbnails


    【解决方案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");
      

      【讨论】:

        猜你喜欢
        • 2016-02-16
        • 1970-01-01
        • 2017-04-18
        • 1970-01-01
        • 1970-01-01
        • 2016-01-07
        • 1970-01-01
        • 1970-01-01
        • 2013-09-26
        相关资源
        最近更新 更多