Главная страница
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.05 c
15-1347788277
Pavia
2012-09-16 13:37
2013.03.22
Посоветуйте СУБД


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


15-1346248538
tesseract
2012-08-29 17:55
2013.03.22
Пэйнтбол


6-1258114919
stas
2009-11-13 15:21
2013.03.22
ICS SMTP клиент


2-1345890795
alexdn
2012-08-25 14:33
2013.03.22
Как написать условие