Сглаживание изображения
Самый простой способ сглаживания изображения - это уменьшение размера в четное количество раз с использованием фильтрации (Бикубической, Bell, B-Spline, Lanczos).
Я не удосужился разобраться, какую фильтрацию использует функция imagecopyresampled(), но судя по официальной документации PHP и проведенным мной испытаниям, она вполне подходит для наших целей.
Все что нам нужно - это построить изображение заведомо большего размера. В примере 36 я немого модифицировал исходный код примера 30 (Рисование карты России) из урока 8.
Пример 36: Сглаживание изображения с помощью двукратного уменьшения.
<?php // Ширина и высота изображения $W=500*2; $H=375*2; // Исходный код построения карты России пропущен. // Смотрите урок №8 $imd=imagecreatetruecolor($W/2,$H/2); imagecopyresampled($imd,$im,0,0,0,0,$W/2,$H/2,$W,$H); imagedestroy($im); imagepng($imd); imagedestroy($im); ?>
Скачать исходный код в архиве (ZIP,10Kb)
Так выглядела карта до сглаживая:

Так выглядит карта после двукратного уменьшения с помощью функции imagecopyresampled():

Все гениальное просто!! Главное помните, что если вы рисуете увеличиную картинку, то на ней линии должны быть толще, текст больше и т.п.
Ссылки по теме
Оставить комментарий
Оставлять комментарии могут только зарегистрированные пользователи.
Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.
