Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 6301
Последний выпуск: 19.06.2015

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

Автор: mike, www.codenet.ru
23 июля 2005 года

Самый простой способ сглаживания изображения - это уменьшение размера в четное количество раз с использованием фильтрации (Бикубической, 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():

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

Ссылки по теме


Назад | Оглавление | Далее

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

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог