我需要为图像动态分配自定义颜色配置文件,然后将图像转换回sRGB配置文件,以使颜色变化可感知(用于预览目的),但避免在图像中访问配置文件数据。
这是我到目前为止所拥有的:
$image = new Imagick('path/to/original-image.jpg');
$image->transformImageColorspace(Imagick::COLORSPACE_SRGB);
$icc = file_get_contents('path/to/profile.icc');
$image->setImageProfile('icc', $icc);
$image->writeImage('path/to/transformed-image.jpg');
现在颜色会根据需要进行更改,但我希望在保持颜色变化的同时再次转换标准sRGB图像中的图像。我在transformImageColorspace(Imagick::COLORSPACE_SRGB)
之前再次尝试writeImage()
,但它没有这样做。如果我removeImageProfile()
颜色刚刚重置。
是否可以这样做?