Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменить размер изображения на низком уровне и без сглаживания [D7, WinXP]


kalexi ©   (2008-11-12 11:30:00) 

Есть алгоритмы? Нужно сделать в точности как у пеинта, т.е. без сглаживания. Но + нельзя использовать класс TBitmap. Т.е. обработку сделать попиксельно. Слышал кто - нить где такое?!


han_malign   (2008-11-12 18:21:00) [1]

new[x,y]:= old[x*w_old div w_new, y*h_old div h_new];

m(x,y) = raw(y*w+x);

raw(n) = bits[n div 8] or{and not} (1 shl (n mod 8));


Rouse_   (2008-11-12 18:12:00) [2]

изображение это и есть массив, а алгоритм тебе нужен если - то это просто.
Уменьшаешь процентно матрицу и в каждый ее элемент пишешь округленное значение нескольких пикселей, которые раньше занимали место одного текущего...


kalexi   (2008-11-12 17:54:00) [3]

Еще раз повторяю, работа с массивом, а не с изображением.


Rouse_   (2008-11-12 14:07:00) [4]


> Нужно сделать в точности как у пеинта, т.е. без сглаживания

Ну тогда StretchBlt без вариантов...


kalexi   (2008-11-12 13:53:00) [5]

Доступ только к пикселям, никаких промежуточных классов. Работа с массивом пикселей, без Canvas, Bitmap и прочего. Изображение бинарное, без цветов.


brother   (2008-11-12 11:58:00) [6]

> низком уровне

это что такое?

> нельзя использовать класс TBitmap

те только на Canvas?


Наверх

Титульная страница Поиск, карта сайта Написать письмо