C#resize,resave.tif as.jpg为新图像提供蓝色色调
我正在构建一个批处理程序,将.tif图像目录保存为.jpgs。处理工作正常。但是,渲染的JPG具有蓝色色调。他们不是“蓝色”,因为他们有一个较冷的色调,蓝色色调。原稿的颜色更亮更暖。以下是我创建调整大小的jpeg的方式:C#resize,resave.tif as.jpg为新图像提供蓝色色调,c#,save,tiff,jpeg,C#,Save,Tiff,Jpeg,我正在构建一个批处理程序,将.tif图像目录保存为.jpgs。处理工作正常。但是,渲染的JPG具有蓝色色调。他们不是“蓝色”,因为他们有一个较冷的色调,蓝色色调。原稿的颜色更亮更暖。以下是我创建调整大小的jpeg的方式: Bitmap bitmap = new Bitmap(image.Image, size); Graphics graphics = Graphics.FromImage(bitmap); graphics.Interpolat
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相比大。也许这与此有关。不确定
我在谷歌上的搜索结果是空的。有没有人对此有经验,或者对下一步的尝试有什么建议?谢谢 我首先建议做一个测试:
可能是原始文件具有颜色配置文件。在这种情况下,您还需要将该信息复制到新文件中。我不知道如何使用.NET的imaging类来实现这一点。从MSDN文档中可以看出,您可以更简单地实现这一点(假设image.image是实际的System.Drawing.image实例):
image.image.Save(路径,系统.绘图.图像格式.Jpeg)
这可能会有所帮助-看起来您正在使用TIF,转换为位图,然后才转换为JPG。代码没有多大意义,您正在将位图绘制在自身之上。这可能会有一些副作用。编码器参数似乎做了些什么,不可用什么。也许这就是你用于颜色配置文件的东西?我自己正在调查这个问题: