Javascript 应用ICC配置文件';在飞行中';通过PHP

Javascript 应用ICC配置文件';在飞行中';通过PHP,javascript,woocommerce,dropzone.js,imagick,color-profile,Javascript,Woocommerce,Dropzone.js,Imagick,Color Profile,我制作了一个dropzone.js,允许访问者(访问我的Wordpress托管站点)上传一个大图像,成功上传后会显示一个缩略图 首先,我遵循了这个方便的指南(由@soderlind编写) 我想知道是否有可能创建一个脚本,将预定义的ICC配置文件应用于该缩略图(而不是原始图像)。为访客模拟不同的颜色配置文件 应向访问者显示ICC配置文件名称列表,选择后这些名称将变为活动/应用于缩略图。在同一页面上,无需重新加载或导航到其他位置 我不是javascript天才。PHP代码确实存在,可以应用ICC配置

我制作了一个dropzone.js,允许访问者(访问我的Wordpress托管站点)上传一个大图像,成功上传后会显示一个缩略图

首先,我遵循了这个方便的指南(由@soderlind编写)

我想知道是否有可能创建一个脚本,将预定义的ICC配置文件应用于该缩略图(而不是原始图像)。为访客模拟不同的颜色配置文件

应向访问者显示ICC配置文件名称列表,选择后这些名称将变为活动/应用于缩略图。在同一页面上,无需重新加载或导航到其他位置

我不是javascript天才。PHP代码确实存在,可以应用ICC配置文件,见下文,但“动态”显示所需的选择对我来说很困难

下面是一个使用Imagick(PHP)向图像添加配置文件的脚本。通过


<?php
$image = new Imagick("CMYK_image.jpg"); // load image
$profiles = $image->getImageProfiles('*', false); // get profiles
$has_icc_profile = (array_search('icc', $profiles) !== false); // we're interested if ICC profile(s) exist

if ($has_icc_profile === false)
{
  // image does not have CMYK ICC profile, we add one
  $icc_cmyk = file_get_contents('/path/to/icc/SomeCMYKProfile.icc');
  $image->profileImage('icc', $icc_cmyk);
}

// Then we need to add RGB profile
$icc_rgb = file_get_contents('/path/to/icc/SomeRGBProfile.icc');
$image->profileImage('icc', $icc_rgb);

$image->setImageColorSpace(Imagick::COLORSPACE_RGB);

$image->writeImage("RGB_image.jpg");

?>