The*_*Who 9 ruby rmagick imagemagick
我一直在用下面的颜色进行转换
if @image.colorspace == Magick::CMYKColorspace
# @image.colorspace #=> CMYKColorspace=12
@image.colorspace = Magick::RGBColorspace
@image = @image.negate
end
Run Code Online (Sandbox Code Playgroud)
它大约有效,但颜色亮度不对.我需要否定图像的事实留下了非常难闻的气味.
该文档提到了使用color_profiles,但除此之外我找不到多少.
我现在正在努力
@image = @image.quantize(16777216, Magick::RGBColorspace)
Run Code Online (Sandbox Code Playgroud)
颜色更好,但仍然关闭.
The*_*Who 11
谢谢Pekka,你给了我答案(+1).
您必须安装使用小色彩管理系统(LCMS)编译的ImageMagick .如果使用安装程序或包,可能已经是这种情况.但我是从源头编译的.它就像从源代码安装LCMS并重建ImageMagick(./configure; make; make install)一样简单.
在ImageMagick中,下面可以很好地重现准确的颜色:
convert FILENAME -profile /PATH_TO_PROFILE/sRGB.icm OUT.jpg
所以在RMagick中我使用以下内容:
if @image.colorspace == Magick::CMYKColorspace
# Adjust the path as necessary
@image.color_profile ="/usr/local/share/ImageMagick-6.5.4/config/sRGB.icm"
end
@image.write("out.jpg") { self.quality = 85 }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5355 次 |
| 最近记录: |