首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图片在表中存储时失去透明效果

图片在表中存储时失去透明效果
EN

Stack Overflow用户
提问于 2010-07-23 15:41:34
回答 1查看 671关注 0票数 2

我想将图像存储在SQL server表中,并且成功了,但是当我检索页面上的图像时,我发现图像已经失去了透明度。原始图像是png/gif。我已经调整了100px / 100px的图像大小。

我使用了以下代码来重新调整图像的大小。它可以工作,但当它在数据库中存储图像时,它失去了透明度。

代码语言:javascript
复制
using (System.Drawing.Image oldImage = System.Drawing.Image.FromStream(new MemoryStream(imageFile)))
{
    System.Drawing.Size newSize = CalculateDimensions(oldImage.Size, targetSize);
    using (System.Drawing.Bitmap newImage = new System.Drawing.Bitmap(newSize.Width, newSize.Height, PixelFormat.Format24bppRgb))
    {
        using (System.Drawing.Graphics canvas = System.Drawing.Graphics.FromImage(newImage))
        {
            canvas.Clear(System.Drawing.Color.Transparent);
            canvas.SmoothingMode = SmoothingMode.HighQuality;
            canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
            canvas.DrawImage(oldImage, new System.Drawing.Rectangle(new System.Drawing.Point(0, 0), newSize));
            MemoryStream m = new MemoryStream();
            newImage.Save(m, ImageFormat.Png);
            return m.GetBuffer();
        }
    }
}

有什么解决方案吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2010-07-23 15:47:00

这可能回答了你的问题:

Why does resizing a png image lose transparency?

正如上面的链接所暗示的那样,您不会因为图像被保存到数据库中而丢失透明度。当你调整图像的大小时,透明度就会丢失。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3316221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档