我需要从大照片生成的缩略图和中等大小的图像。 这些较小的照片是在一个网上画廊展示。很多摄影师正在提交使用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,所以它可能是更容易使用图形库执行此。

其他提示

您应该使用ImageMagic -profile 选择,我相信-colorspace选项将不会帮助你。

convert image.jpg -profile sRGB.icc rgb_image.jpg

另外你可以看看一点色彩管理引擎

看一看的位图变换其具有使用ColorconvertedBitmap类与轮廓的短样本类。

在服务器端,您可以调用出来ImageMagick的,让它为你做转换。

这里的给-colorspace命令行选项

我没有用这种特殊的选项,但似乎你想要做什么。

scroll top