[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с imagesetpixel
sNICkerssss
Все привет! Вот такой вапрос.
При наложении одного пикселя на картинку соблюдается некоторая его прозрачность. Как ее убрать? Библиотека GD2. Функция imageAlphaBlending($image, false) не помогает, или я ее не так подключаю.

Делаю так:

$image = imageCreateFromJPEG("1.jpg");
imageAlphaBlending($image, false);

$white = imagecolorallocate($image, 255, 255, 255);

imagesetpixel($image, 100, 200, $white);

imageJPEG($image, "new_1.jpg", 100);
imageDestroy($image);



В итоге пиксель не белый на 100% (255, 255, 255) и даже немного закрашиваются (легкий оттенок белого) соседние пиксели (а нужно идеально на 100%), он имеет небольшой оттенок цвета под ним (проверял в фотошопе пипеткой). В чем проблема?



Спустя 23 минуты, 34 секунды (3.05.2010 - 18:55) vasa_c написал(а):
Цитата
Алгоритм JPEG является алгоритмом сжатия данных с потерями.


Используйте другой формат.

Спустя 3 часа, 6 минут, 28 секунд (3.05.2010 - 22:02) sNICkerssss написал(а):
Нет, нужен именно JPEG.

Спустя 54 минуты, 34 секунды (3.05.2010 - 22:56) sergeiss написал(а):
Если ты сохранишь в формате, например, PNG, то таких проблем не будет. А с JPG по-любому будут искажения. По той простой причине, что (как тебе уже в этой теме ответили) этот формат при сжатии теряет часть информации, происходит смешивание цветов. И твой белый пискель становится не совсем белым.
GD2 отрабатывает корректно. А вот при записи происходит это самое смешивание.

И понятние "прозрачность" тут вовсе не годится.

Спустя 2 часа, 49 минут, 10 секунд (4.05.2010 - 01:46) sNICkerssss написал(а):
Спасибо за ответы. Тема закрыта.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.