Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Вывод изображения в GDI+   Найти похожие ветки 

 
Vetal   (2008-11-25 22:16) [0]

Здравствуйте, есть вопросик. Не могу понять, почему при двух способах вывода:

var
 FBitmap: TGPBitmap;
 Graph: TGPGraphics;
 i: integer;


1)
Graph.SetInterpolationMode(InterpolationModeNearestNeighbor);
 Graph.DrawImage(FBitmap, 0, 0, FBitmap.GetWidth, FBitmap.GetHeight);
 for i := 0 to 10 do
   Graph.DrawImage(FBitmap, 0, 0, FBitmap.GetWidth*0.2, FBitmap.GetHeight*0.2);


2)
Graph.SetInterpolationMode(InterpolationModeNearestNeighbor);
 for i := 0 to 10 do
   Graph.DrawImage(FBitmap, 0, 0, FBitmap.GetWidth*0.2, FBitmap.GetHeight*0.2);


второй вариант работает раз в 20 быстрее.


 
Vetal   (2008-11-25 23:48) [1]

Точнее не второй, а первый.


 
brother ©   (2008-11-28 09:22) [2]

> 1)
> Graph.SetInterpolationMode(InterpolationModeNearestNeighbor)
> ;
> Graph.DrawImage(FBitmap, 0, 0, FBitmap.GetWidth, FBitmap.GetHeight)
> ;
> for i := 0 to 10 do
>   Graph.DrawImage(FBitmap, 0, 0, FBitmap.GetWidth*0.2,
> FBitmap.GetHeight*0.2);
>
> 2)
> Graph.SetInterpolationMode(InterpolationModeNearestNeighbor)
> ;
> for i := 0 to 10 do
>   Graph.DrawImage(FBitmap, 0, 0, FBitmap.GetWidth*0.2,
> FBitmap.GetHeight*0.2);

и что это за "обрезки" кода?


 
Vetal   (2008-11-28 20:14) [3]

Если загрузть изображение и выводить его в уменьшенном размере, то по ходу при каждом выводе объект Graphics создаёт промежуточный буфер, что выливается в приличные тормоза при больших растрах. Если сначала вывести изображение в нормальном масштабе или в увеличенном, то при дальнейше его выводе любым размером всё работает быстро.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.129 c
2-1346616136
ankazh
2012-09-03 00:02
2013.03.22
Сводная таблица


2-1330408314
AV
2012-02-28 09:51
2013.03.22
Владение критической секцией


15-1341824763
Дмитрий С
2012-07-09 13:06
2013.03.22
Teamviewer может отвечать на запросы UAC...


2-1334939002
leklerk
2012-04-20 20:23
2013.03.22
Как сделать, чтобы в dbgrid всегда была прокрутка?


15-1328942551
AV
2012-02-11 10:42
2013.03.22
Нужен ли XP mode, если на семерку хочу виртуалку поставить?