Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Ресайз по частям.


Автор: Ak47black 1.8.2007, 05:29
Вообщем уже не первый день думаю как-бы тут сделать и много чего самодельного перепробовал.
Нужно сделать функцию которая смогла-бы ресайзить изображение по частям, тоесть я получаю кусок изображения ресайзю и вставляю потом следующий ресайзю и вставляю всё это делаю чтобы процессор не грузить очень сильно, потомучто весь ресайзить совсем невыгодно.
Значит у меня есть - TBitmap не ресайзеный, маленький TBitmap ресайзеный и коордиты прямоугольников (массив) в области которых произошли изминения на нересайзеном TBitmape.
Ктонибудь чтото такое делал или просто подсказать чтото может, буду очень благодарит  smile ?
Главная проблема - качество.

Автор: MetalFan 1.8.2007, 10:17
используй либо GDI+, либо из GraphicEx процедуры ресайза

Автор: Ak47black 1.8.2007, 21:00
Может тут ктонибудь соображает в resize.
Вся проблема в том что тут мне надо кусочками делать, ато взял-бы готовый.  smile 

Автор: Alexeis 1.8.2007, 21:28
Ak47black, а все они делают кусочками.

Автор: Ak47black 1.8.2007, 22:13
user posted image
Там появились*

Автор: MetalFan 1.8.2007, 23:05
берешь размер первого исходного и измененного прямоугольника, ресайзишь, рисуешь.
в чем проблема то?

Автор: Ak47black 1.8.2007, 23:24
MetalFan, в качестве проблема.
Уже вроде нашёл правильный путь.

Автор: Ak47black 3.8.2007, 02:16
Блин выдрал из GraphicEx и кое как оптимизировал, но скорость получилась однако оченнь медленная.
Прям низнаю что ешё делать чтобы скорость увеличить,   smile  smile  smile , может кто сможет глянуть, буду очень благодарен за подсказки.

Прикрепляю что я делаю и сделал.
Значит так
  • Распакуйте
  • И сделайте скриншот и положите фотку в папку проги и назовите ScreenShoot.bmp , ато место мало даётся тут.

Мне нужен очень быстрый алгоритм.

Автор: Alexeis 3.8.2007, 09:14
Ak47black, я писал сам такую функцию, но для билинейной интерполяции. Все операции целочисленные, правда на С++, так что если хочешь можешь ее переписать на делфи. Нуна?

Автор: MetalFan 3.8.2007, 15:35
из примера непонятно скорость выполнения отрисовки

Автор: Ak47black 3.8.2007, 16:50
MetalFan, я там неставил, так как мне нужна сумошедши быстрая скорость.
Я через Process Explorer смотрю.

Alexeis, давай посмотрю smile , ато я саму теорию не понимаю, перепишу если будет быстрой.

Автор: MetalFan 3.8.2007, 16:56
Цитата(Ak47black @  3.8.2007,  16:50 Найти цитируемый пост)
Я через Process Explorer смотрю

а как ты СКОРОСТЬ выполнения алгоритма через PE смотришь???  smile 

Автор: Ak47black 3.8.2007, 17:00
MetalFan,  smile соори я имел ввиду загруженность проца моей прогой.

Автор: Ak47black 3.8.2007, 22:37
Alexeis, Огромное тебе спасибо за код и за статью. +

Автор: Ak47black 4.8.2007, 05:56
Ak47black, нут у меня исследующая проблема всплыла - если я хочу ресайзить до ширины или высоты которая не делиться на 4 то цвета получаются плохие в результате.
 smile Незнаю как тут обойти этот момент.

Автор: Alexeis 4.8.2007, 12:29
Ak47black, Покажи как перенес на Delphi, может поправим кое что.

Автор: Ak47black 4.8.2007, 16:49
 smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)