Думаю тема избитая до немогу
не раз наверное у кого либо получался черный фон или что то подобное, интересуют пути решения, так как я все эту хрень не могу отследить ни как, от чего зависит и сделать универсальный способ
Думаю тема избитая до немогу
не раз наверное у кого либо получался черный фон или что то подобное, интересуют пути решения, так как я все эту хрень не могу отследить ни как, от чего зависит и сделать универсальный способ
я же недавно совсем давал тут ссылку на результат и код
ща докурю и найду
еще нужны пару картинок разных форматов в архиве, для тестов, в архиве для того чтоб здешний аплоад не наломал
Прозрачность ток у png может быть
Simba, но для пнг написанное ломает жипег
я уже пересматриваю imagick
if($imgsize['mime']=='image/png'){
$src = ImageCreateFromPng($image);
$dst = ImageCreateTrueColor($tn_width, $tn_height);
$black = imagecolorallocate($dst, 0, 0, 0);
imagecolortransparent($dst, $black);
imagealphablending($dst, false); // one
imageSaveAlpha($dst, true); // two
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
if(isset($this->query[1]) AND $this->query[1]='preview') {
$copy = ImageCreateFromPng('image/copy.png');
imagealphablending($dst, true); //three (from replace watermark true alfa chanel save [!] only from watermark replace over resize source image)
imagecopyresampled($dst, $copy, $tn_width - 125, $tn_height - 35, 0, 0, 125, 35, 125, 35);
ImageDestroy($copy);
}
header("Content-type: image/png");
ImagePng($dst, null);
ImageDestroy($src);
ImageDestroy($dst);
} # Koenig (17.08.2016 / 02:06)чавой?
Simba, но для пнг написанное ломает жипег
поясню
раз: позволяет использовать режим сопряжения цветов
нам этого ненадо, иначе наша подложка с прозрачностью созданной абы как (дедовский способ замены цвета на альфа канал) транслируется на ресурс (картинку, далее ресурс)
и так, вырубаем трансляцию прозрачности и вообще всего с подложки на ресурс.
______
два: устанавливает флаг сохранять всю информацию альфа компонента (в противовес одноцветной прозрачности) и сохраняет PNG изображение.
так как у нас в ресурсе настоящий альфаканал, и нам надо его сохранить, включаем сохранение оного, без замещения нашим дедовским методом использованном на подложке)
короче, если этого не сделать, под альфой прорисуется не прозрачная подложка, а дефолтный цвет, и только под ним будет подложка. но мы ее уже не увидим, под дефолтным цветом
________
три:
ватермарк. обычно прозрачный фон и текст или иконка (короче пнг, с альфой)
теперь нам надо наоборот включить ранее выключенное сопряжение цветов, иначе наша тру-альфа (ресурс) проигнорирует альфаканал ватармарка и влепит дефолтный фон (черный\белый, х.з. не помню)
________
для НЕпнг изображений с наложением ватермарка:
пропускаем первый и третий пункт
нам нужно только одно:
второй пункт, но примененный к ватермарку
$copy = imagecreatefrompng('image/copy.png');
imageSaveAlpha($copy, true); // этоimagesavealfa не только тупо сохраняет прозрачность, она полностью сохраняет весь альфаканал, т.е. не будет ни каких рубленных углов и прочего уродства, сохраняются все полутона с частичной прозрачностью, плавные переходы, тени и т.д.
короче это не гд тупая либа, это мы ее готовили так как дед научил![]()
но имагик говорят жмет лучше с меньшей потерей качества.
правда это только говорят, и он вроде как не везде есть