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

Вниз

Проблема с Bitmap   Найти похожие ветки 

 
ASilver ©   (2003-09-29 13:20) [0]

Почему bitblt с PBitamp размером 600x800 занимает времени больше 1 секунды. Как лечить.


 
SPeller ©   (2003-09-29 17:15) [1]


> bitblt с PBitamp размером 600x800 занимает времени
> больше 1 секунды

А это как?


 
miek ©   (2003-09-29 19:58) [2]

Код в студию


 
ASilver ©   (2003-09-30 14:31) [3]

DC := GetDC(0);
bitblt(btm.canvas.handle,0,0,800,600,DC,0,0,SRCCOPY);


 
SPeller ©   (2003-09-30 15:28) [4]

Странно, у меня такой код:

procedure TForm1.SPLPicture1Click(Sender: PObj);
var DC: HDC;
begin
 DC := GetDC( 0 );
//  BitBlt( DC, 0, 0, 800, 600, SPLPicture1.Bitmap.Canvas.Handle, 0, 0, SRCCOPY );
 BitBlt( SPLPicture1.Bitmap.Canvas.Handle, 0, 0, 800, 600, DC, 0, 0, SRCCOPY );
end;

Работает мгновенно в обоих случаях. Может, у тебя формат битмапа не совпадает с тем, что на экране, и время тратится на преобразование?


 
SPeller ©   (2003-09-30 15:30) [5]

ЗЫ: В компонент предварительно был вставлен скриншот рабочего стола размером 800х600.


 
miek ©   (2003-09-30 20:20) [6]

Весь код в студию. Товарищ правильно говорит - должно все работать нормально.


 
ASilver ©   (2003-10-01 12:41) [7]

procedure TForm1.SPLPicture1Click(Sender: PObj);
var
 DC: HDC;
 Bitmap : PBitmap;
begin
Bitmap := NewBitmap(800,600);
Bitmap.PixelFormat := pfCustom;
DC := GetDC( 0 );
BitBlt(Bitmap.Canvas.Handle,0,0,800,600,DC,0,0,SRCCOPY );
....
Bitmap.Free;
end;


 
miek ©   (2003-10-01 22:10) [8]

А вот и он, больной зуб!

Bitmap.PixelFormat := pfCustom;

Смени на что-нибудь определенное. pf32bit, например.


 
ASilver ©   (2003-10-07 12:40) [9]

Ok. Всё работает нормально. Извиняюсь за глупый вопрос.



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
11-1062089276
alex_s
2003-08-28 20:47
2004.04.25
expert


14-1080584958
Soft
2004-03-29 22:29
2004.04.25
Фальсификация и методология научно-исследовательских программ


3-1080587672
clickmaker
2004-03-29 23:14
2004.04.25
ADOConnection time out при попытке создания >2 соединений


8-1067023874
FiLimon
2003-10-24 23:31
2004.04.25
Изменить размер картинки


6-1077989539
rulezz
2004-02-28 20:32
2004.04.25
как с помощью indy слить фаил с тем же именем с каким отдана зака