【问题标题】:Save System.Drawing.Bitmap with high resolution aspx使用高分辨率 aspx 保存 System.Drawing.Bitmap
【发布时间】:2013-05-29 20:38:13
【问题描述】:

我写了一个方法来减少颜色深度(GIF转换)并将分辨率从位图设置为600像素。

颜色深度转换工作正常,但分辨率设置不工作。

<script runat="server" language="C#">
    public static void Convert(Bitmap oldbmp, String path)
    {
        System.Drawing.Bitmap bm8Bit;
        using (MemoryStream ms = new MemoryStream())
        {
            oldbmp.Save(ms, ImageFormat.Gif);
            ms.Position = 0;            
            bm8Bit = (System.Drawing.Bitmap) System.Drawing.Image.FromStream(ms);
            bm8Bit.SetResolution(600, 600);
            bm8Bit.Save(path, System.Drawing.Imaging.ImageFormat.Bmp);
            return;
        }
    }
</script>

【问题讨论】:

    标签: c# asp.net bitmap system.drawing


    【解决方案1】:

    我认为你只能在新的位图上设置分辨率,以前没有保存,所以如果你有退出的位图,你需要将它复制到新的位图实例:

    Bitmap imgCopy = new Bitmap(img);
    imgCopy.SetResolution(600.0f,600.0f);
    

    在这里阅读:http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.setresolution.aspx

    使用此方法在新创建的位图上设置所需的分辨率。更改图像的分辨率不会改变其物理尺寸。

    【讨论】:

      【解决方案2】:

      嘿,尝试编写我们自己的解决方案总是好的,但它们是一个可用的库,易于实现且效果非常好

      你可能想使用它,你可以从这里下载它,它也有很好的文档。

      http://imageresizing.net/download

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-27
        • 2014-09-08
        • 2016-12-18
        • 2014-10-03
        • 2015-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多