Главная страница
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.106 c
15-1351516785
Scott Storch
2012-10-29 17:19
2013.03.22
кодировки для не неюникодных программ


2-1331874414
vassal
2012-03-16 09:06
2013.03.22
record`ы


15-1348475426
AV
2012-09-24 12:30
2013.03.22
Оптимизировать/придумать алгоритм. Просто так.


2-1329302821
LDV
2012-02-15 14:47
2013.03.22
добавление/удаление в/из TList


4-1258957583
pg81
2009-11-23 09:26
2013.03.22
Как получить в переменную frm:TForm зная Handle окна?