Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.056 c
2-1330269660
Незнающий усталости
2012-02-26 19:21
2013.03.22
Как задать фокус ячейки?


2-1339410261
Вася
2012-06-11 14:24
2013.03.22
id последней добавленной записи ???


2-1330552340
misha
2012-03-01 01:52
2013.03.22
Как спроектировать класс


15-1334176202
Юрий
2012-04-12 00:30
2013.03.22
С днем рождения ! 12 апреля 2012 четверг


15-1346699148
Artem
2012-09-03 23:05
2013.03.22
Чем можно протестировать COM-соединение между Win95 и Win7?




   Наверх