转换JPEG色彩空间(Adobe RGB的为sRGB)在Windows(.NET)
-
19-09-2019 - |
题
我需要从大照片生成的缩略图和中等大小的图像。 这些较小的照片是在一个网上画廊展示。很多摄影师正在提交使用Adobe RGB的JPEG图像。 我想使用sRGB所有缩略图和中等大小的图像
我现在用的dotnet(asp.net),并需要一种方法来从Adobe RGB转换为sRGB不会失去任何质量。
解决方案
背景信息:JPG文件具有红色,绿色,和蓝色,无论的sRGB,Adobe RGB的或纯醇” RGB 8位。的ICC描述符确定的颜色空间。有时这被嵌入在JPG文件。有时有指定的sRGB,色彩空间的Exif标签A001的标志= 1没有为Adobe RGB的没有标准的标志,但在Exif标签A001为Adobe RGB某些应用程序和相机使用65535(未校准)。
要转换从一个ICC配置文件(色彩空间)到另一个JPG文件,你可以使用CreateColorTransform创建色彩空间之间的transorm。您将需要为源(Adobe RGB的)和目标(sRGB)可色彩空间提供的ICC配置文件。
在你有变换,使用TranslateBitmapBits来调整像素。它可能会更容易与图像作为一个DIBSection工作。
这可能有点复杂,在写的.asp,所以它可能是更容易使用图形库执行此。
其他提示
不隶属于 StackOverflow