![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменить размер изображения на низком уровне и без сглаживания [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?