Мне нужно изменить каждый оттенок желтого на синий и каждый оттенок темно-серого на светло-серый в изображениях PNG с прозрачностью.
Проблема в:
Я не могу использовать Photoshop, потому что у меня 100 изображений, и мне нужно много раз менять оттенки. Я не могу использовать Image Magick, потому что мне нужны более сложные вычисления, чем можно с помощью «-fx». Я не могу использовать PHP imagefrompng (), потому что эта неприятная чушь не работает со многими моими изображениями, даже со всеми предлагаемыми исправлениями, такими как:
$background = imagecolorallocate($png, 255, 255, 255);
// removing the black from the placeholder
imagecolortransparent($png, $background);
// turning off alpha blending (to ensure alpha channel information is preserved, rather than removed (blending with the rest of the image in the form of black))
imagealphablending($png, true);
// turning on alpha channel information saving (to ensure the full range of transparency is preserved)
imagesavealpha($png, true);
и так далее. Он работает с некоторыми изображениями, но не работает с другими.
Все, что мне нужно, это библиотека PNG (возможно, не в PHP), которая может дать мне красный, зеленый, синий и альфа-компонент пикселя с координатами x, y, а затем установить этот пиксель после моих расчетов, например:
$rgba = getrgba($image, $x, $y);
$rgba = my_function($rgba);
setrgba($image, $x, $y, $rgba);
Может быть, вы можете предложить библиотеки на других языках, а не только на PHP?