我需要从大照片生成缩略图和中型图像。
这些较小的照片将显示在在线画廊中。许多摄影师正在使用Adobe RGB提交JPEG图像。
我想对所有缩略图和中等尺寸的图像使用sRGB
我正在使用dotnet(asp.net),并且需要一种从Adobe RGB转换为sRGB而不损失任何质量的方法。
最佳答案
背景信息:Jpg文件具有8位红色,绿色和蓝色,无论是sRGB,Adobe RGB还是普通RGB。 ICC描述符确定颜色空间。有时,这嵌入在jpg文件中。有时会有一个标志来指定sRGB,Exif Colorspace标签a001 =1。没有用于Adobe RGB的标准标志,但是某些应用程序和相机在exif标签A001中为Adobe RGB使用65535(未校准)。
要将jpg文件从一个ICC配置文件(色彩空间)转换为另一个,可以使用CreateColorTransform在色彩空间之间创建一个转换框。您将需要为源(Adobe RGB)和目标(sRGB)颜色空间提供ICC配置文件。
进行转换后,使用TranslateBitmapBits调整像素。将图像用作DIBSection可能会更容易。
用.asp编写可能有点复杂,因此使用图形库执行此操作可能会更容易。
关于.net - 在Windows(.Net)上转换JPEG色彩空间(Adobe RGB到sRGB),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1174832/