C#调整大小,重新保存.tif,因为.jpg为新图像添加蓝色调

时间:2010-12-08 15:54:00

标签: c# save tiff jpeg

我正在构建一个批处理器,以将.tif图像目录保存为.jpgs。处理工作正常。但是,渲染的jpgs对它们有蓝色色调。它们不是“蓝色”,因为它们具有较冷的色调,蓝色色调。原件更明亮,颜色更暖。这就是我创建调整大小的jpeg的方式:

        Bitmap bitmap = new Bitmap(image.Image, size);

        Graphics graphics = Graphics.FromImage(bitmap);
        graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.None;
        graphics.DrawImage(image.Image, 0, 0, size.Width, size.Height);

        // Get EncoderInfo("image/jpeg") gets the jpeg Codec by mime type
        bitmap.Save(path, GetEncoderInfo("image/jpeg"), EncoderParameters);

原始tif图像大小为7MB - 与渲染的jpeg相比较大。也许这与它有关。不确定。

我在Googles上空了。有没有人对此有任何经验或有关下一步尝试的建议?谢谢!

3 个答案:

答案 0 :(得分:0)

我首先建议进行测试:

  1. 使用单一颜色创建普通图像。
  2. 将其转换为jpeg。
  3. 如果色调实际发生了变化或是您的感知,请检查照片包。

答案 1 :(得分:0)

原始文件可能具有颜色配置文件。在这种情况下,您还需要将该信息复制到新文件中。我不知道如何用.NET的成像类做到这一点。

答案 2 :(得分:0)

从MSDN文档中,看起来你可以做得更简单一些(假设image.Image是一个实际的System.Drawing.Image实例):

image.Image.Save(path, System.Drawing.ImageFormat.Jpeg)

这可能有所帮助 - 看起来你正在使用你的TIF,转换为位图,然后转换为JPG。