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

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

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

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

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

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

Неполучается корректо сделать белый цвет прозрачным в png

Такая ситуация:

1) необходимо преобразовать jpg в png
Сделал так:
Код:
$jpg = imagecreatefromjpeg('2_test.jpg');// / загрузка jpg
$image1=imagepng($jpg //$filename сохраяняем файл на сервере
, 
    "2_test.png"//имя фала для сохранения
);
Все нормально, получил png 24 бита
2) нужно в получившимся png файле заменить белый цвет на прозрачный:
Код:
$png = imagecreatefrompng('2_test.png');// / загрузка png
$transparent= imagecolorallocate($png, 255, 255, 255); // выбираем белый цвет
imagecolortransparent($png,$transparent); // устанавливаем какой цвет будет прозрачным = белый
//imagealphablending($png, false);
//imagesavealpha($png, true);
$image1=imagepng($png //$filename сохраяняем файл на сервере
, 
    "2_test_visible.png"//имя фала для сохранения
);
В итоге получаю картинку 32 бита у корой только часть белых пикселей стали прозрачными, а остальные остались белыми (



В исходном варианте 2_test.png там нарисована эта двойка и все остальное залито белым фоном

Походу понял в чем проблема- нужно изначально иметь png в 32 бита, а не в 24
Теперь нужно узнать как сохранить из jpg в png 32 бита

Сделал imagesavealpha($jpg, true); перед сохранением в png, получилось png 32 бита, но далее тот же результат(. В чем проблема?


Походу я все делал правильно, но изначальный jpg рисунок содержал не полностью белый цвет фона, а вкрапления почти белого. Делал я его в паинте. Почему так происходит? Видимо он размывает зачем то(.
Чем нарисовать jpg чтобы белый цвет 255,255,255 таким и остался?

Последний раз редактировалось Illusiony; 26.11.2016 в 19:08.
Illusiony вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена слов определенного цвета в ячейках linguist Microsoft Office Excel 29 29.06.2016 16:33
Поиск координат пикселя определенного цвета Yevgeniy_F C++ Builder 0 22.09.2013 10:30
присвоение линии определенного цвета Mehanizator Помощь студентам 2 19.08.2011 09:43
Количество пикселей определенного цвета zih Общие вопросы Delphi 4 20.10.2010 23:57