【发布时间】:2010-07-30 14:16:56
【问题描述】:
我正在尝试调整 RGB 8 位 Tif 的大小并在 c# 中保持它的透明度。我试过下面的代码。
using (Image thumbnail = new Bitmap(1500, 1500))
{
using (Bitmap source = new Bitmap(@"c:\trans.tif"))
{
using (Graphics g = Graphics.FromImage(thumbnail))
{
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.Clear(Color.Transparent);
g.DrawImage(source, 0, 0, 1500, 1500);
}
}
thumbnail.Save(@"c:\testoutput.tif", ImageFormat.Tiff);
//using (MemoryStream ms = new MemoryStream())
//{
// //thumbnail.Save(ms, ImageFormat.Tiff);
// //
// //result = ms.ToArray();
//}
}
图像是使用 Photoshop 创建的,我无法弄清楚为什么它在调整大小的 tiff 上没有保持透明度。
有什么想法吗?
【问题讨论】:
-
你为什么专门打电话给
g.Clear(Color.Transparent);? -
您已经在这里待了足够长的时间,通过格式化代码示例以提高可读性来表达对人们的尊重。