Главная страница
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.056 c
15-1350838886
Лида
2012-10-21 21:01
2013.03.22
Обработка различных событий в Delphi


2-1333952944
Jenyok
2012-04-09 10:29
2013.03.22
Размеры и положение окна в OpenDialog и т.п.


4-1259040937
Alex_C
2009-11-24 08:35
2013.03.22
"Принудительная" запись в COM-порт


15-1351590930
Palladin
2012-10-30 13:55
2013.03.22
Как в директивах препроцессора с# target framework учесть?


15-1328563233
Германн
2012-02-07 01:20
2013.03.22
Небольшой опрос по провайдерам и SMTP-серверам