【发布时间】:2010-12-15 19:18:30
【问题描述】:
我有以下函数,它从较旧的数据库中获取存储为 blob 的 tiff 并将其转换为 jpeg,然后将其作为 varbinary(max) 存储在 sql server 中。
public byte[] ConvertImage(byte[] imageData)
{
if (imageData == null) return null;
using (var image = Image.FromStream(new MemoryStream(imageData)))
{
using (Bitmap bmp = new Bitmap(image))
{
using (MemoryStream outStream = new MemoryStream())
{
bmp.Save(outStream, ImageFormat.Jpeg);
return outStream.ToArray();
}
}
}
}
由于某种原因,转换导致图像大小增加了 10 倍或更多。我做错了什么吗?
感谢您的帮助
【问题讨论】:
-
如果您的 TIFF 图像使用有损压缩,那么除非您想降低质量因子,否则不要使用它。
-
TIFF == 数千种不兼容的文件格式。我试了一下,祝你好运。