|
 25.6 Кб |
|
| Здравствуйте!
Вопрос связан с использованием функции ImageTTFText(). Она накладывает текст на изображение, работает в принципе все верно. Но вот проблема - если присмотреться внимательно к получившейся картинке с текстом, то видно, что вокруг текста появляются словно размытые участки, становятся видны пиксели, как это бывает на изображениях с очень низким разрешением. Прилагаю картинку с текстом, если ее немного увеличить, то эти "размытости" вокруг текста становятся очень хорошо видны.
Также привожу скрипт формирования изображения:
$font = getcwd()."/bts.ttf";
$Image = ImageCreateFromJpeg("vclass.jpg");
$textColor = ImageColorAllocate($Image,255,255,255);
ImageTTFText($Image,15,0,215,50,$textColor,$font,"Some text some text");
ImageTTFText($Image,12,0,215,70,$textColor,$font,"Some text some text");
ImageTTFText($Image,12,0,215,90,$textColor,$font,"Some text some text");
ImageJpeg($Image);
ImageDestroy($Image);
header("Content-type: image/jpg");
|
Кто-то сталкивался с таким явлением? Может быть, у меня что-то в коде не так? Или такое явление нормально и не стоит обращать на это внимание?
Будет интересно увидеть какие-либо предложения. | |
|
|
|
|
|
|
|
для: vtos
(18.05.2010 в 17:27)
| | Это следствие JPEG-компрессии, на границах резких цветовых переходов такое и будет наблюдаться. Плюс не забывайте, что у вас подложка тоже уже сжата, а повторное сжатие в JPEG формате, это дополнительная потеря качества. Если подложка одноцветная, то нет необходимости для этого изображение-источник, ее можно приготовить налету.
Можете указать меньшую компрессию (по умолчанию она равна 75%).
Можете использовать фильтр SMOOTH.
Можете отдавать в браузер PNG формат. | |
|
|
|
|
|
|
|
для: sim5
(18.05.2010 в 17:55)
| | Здравствуйте, благодарю за ответ. Подложка планируется не одноцветная, то есть не такая, как на изображении в приложении (очень похожая, но все же не одноцветная). Поэтому накладывать нужно именно на исходное изображение.
Насчет формата PNG - попробую, спасибо.
Также, насколько я понял, нужно посмотреть исходные изображении, разобраться там с компрессией и прочими параметрами.
А вот что за SMOOTH, можете вкратце объяснить или дать ссылку на материалы? | |
|
|
|
|
|
|
|
для: vtos
(18.05.2010 в 19:11)
| | Храните изображение подложки тоже в формате PNG, если хотите чистоты.
Функция imagefilter применяет к ресурсу изображения фильтр, тип которого указывается константой в ее втором аргументе, и для фильтра SMOOTH (сглаживание) константа равна IMG_FILTER_SMOOTH.
Загляните в мануал, там все описано. | |
|
|
|
|
|
|
|
для: sim5
(18.05.2010 в 19:38)
| | А, понял, уже встречал этот imagefilter...
Спасибо за информацию! | |
|
|
|