Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2016, 21:49   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Еще одна задачка по наложению изображений

Я получаю base64 код png32 из canvas. Минимум 2 изображения.
декодирую base64, включаю альфа канал
Код:
imagesavealpha($png1, true);
Далее налаживаю одно изображение на другое:
Код:
ImageCopy($png2, $png1, 0, 0, 0, 0, 1920, 1080);
Потом открываю третье изображение - маску
Код:
 $png3 = imagecreatefrompng('masca.png');// загрузка png маски
Оно без прозрачности, окошко маски имеет черный цвет, а фон какого цвета в общем то не важно.
Делаю прозрачным цвет окошка на рисунке маски:
Код:
 $coloralpha=imagecolorallocate($png3, 0, 0, 0);
 imagecolortransparent($png3,$coloralpha);
Налаживаю маску:
Код:
ImageCopy($png2, $png3, 0, 0, 0, 0, 1920, 1080);// наложение маски
Таким образом я получаю рисунок в котором уже есть прозрачность в районе окна, в нем нужный мне рисунок вырезан.

Но вся остальная область залита цветом фона маски, цвет который я писал, что неважен.( мне нужно чтобы он тоже стал прозрачным в итоговом изображении).
Так вот, как мне этот цвет тоже сделать прозрачным как и черный, который я уже сделал.

Пробовал сделать этот "неважный" цвет черным и заново применить прозрачность к черному цвету. Цвет делается черным , но не становится прозрачным.

Как можно сделать прозрачным цвет на рисунке, если в нем уже имеется другой цвет с прозрачностью?( ну или я сделал второй цвет такой же как и цвет прозрачности, но все равно к нему прозрачность не применяется)

Последний раз редактировалось Illusiony; 01.12.2016 в 22:12.
Illusiony вне форума Ответить с цитированием
Старый 05.12.2016, 20:22   #2
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Задачу решил. Тему можно закрывать, если никому не нужно.
Illusiony вне форума Ответить с цитированием
Старый 05.12.2016, 22:21   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Illusiony Посмотреть сообщение
Задачу решил. Тему можно закрывать, если никому не нужно.
Ну и поделился бы здесь же решением.
Без решения – кому она нужна?
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Еще одна задачка на сообразительность pproger Свободное общение 15 24.12.2009 18:42
Еще одна задачка. andrey_94 Общие вопросы C/C++ 6 23.12.2009 12:58
еще одна задачка на TP7 Disel Паскаль, Turbo Pascal, PascalABC.NET 5 20.01.2009 16:24
Еще одна задачка по JavaScript) artemavd JavaScript, Ajax 1 20.11.2008 17:55
еще одна задачка koston Помощь студентам 4 09.04.2008 18:43