Сглаживание изображения

Автор: content Понедельник, Апрель 9th, 2012 Нет комментариев

Рубрика: Язык PHP

Самый простой способ сглаживания изображения — это уменьшение размера в четное количество раз с использованием фильтрации (Бикубической, Bell, B-Spline, Lanczos).

Я не удосужился разобраться, какую фильтрацию использует функция imagecopyresampled(), но судя по официальной документации PHP и проведенным мной испытаниям, она вполне подходит для наших целей.

Все что нам нужно — это построить изображение заведомо большего размера. В примере 36 я немого модифицировал исходный код примера 30 (Рисование карты России) из урока 8.

Пример 1: Сглаживание изображения с помощью двукратного уменьшения.

<?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)

Так выглядела карта до сглаживая:

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

1Все гениальное просто!! Главное помните, что если вы рисуете увеличиную картинку, то на ней линии должны быть толще, текст больше и т.п.

Автор: mike (www.codenet.ru)

Источник: http://www.php.su/articles/?cat=graph&page=015

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты