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

Ваш аккаунт

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

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

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

Увеличение изображения (масштаб, zoom и т.п.)

4.5K
21 февраля 2006 года
Aptem
7 / / 16.08.2003
Здравствуйте.

Необходимо написать функцию, которая увеличивает растровое изображение, естественно не используя всяких там StretchDraw и т.п.

Я понимаю, что при увеличении появятся пустые пиксели, их значения я буду искать с помощью интерполяции. С этим проблем нет. Проблема в том, как расположить пиксели на новом изображении, т.е. если исходное изображение имеет размер 4х2 пикселя, увеличиваем его в 1,5 раза, новое изображение будет иметь размеры 6х3 пикселя. Так вот, как именно расположить пиксели старого изображения на новом и как узнать какие необходимо интерполировать?

Надеюсь вопрос понятен. Спасибо за внимание.
391
21 февраля 2006 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by Aptem
Здравствуйте.
...
Надеюсь вопрос понятен. Спасибо за внимание.


А это уже зависит от метода, который ты будешь использовать. Самый простой и быстрый (но с плохим качеством) - подмена пиксела ближайшим соседом:
newPixels[newX] = oldPixels[newX / newWidth * oldWidth];
(здесь все координаты и размеры - целые числа). Ну а если используешь более продвинутую интерполяцию, то ничто не мешает узнать цвет пиксела в позиции [2.5f, 1.18f] :)

4.5K
22 февраля 2006 года
Aptem
7 / / 16.08.2003
Все разобрался! Большое спасибо.
294
22 февраля 2006 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Aptem


Может быть, эта ссылка чем-нибудь поможет?

4.5K
22 февраля 2006 года
Aptem
7 / / 16.08.2003
Интересно, а если необходимо уменьшить изображение? Как тогда?
391
22 февраля 2006 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by Aptem
Интересно, а если необходимо уменьшить изображение? Как тогда?


А никак. Можно только увеличивать...

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