Вниз
Скачать: CL | DM;

StretchBlt   Найти похожие ветки 

 
Ajax ©   (2003-04-14 16:15) [0]

У кого есть код, использующий StretchBlt, киньте пожалуйста.

Я заколебался уже. Ну нифига не рисуется у меня. Либо вообще ничего не выводит, либо белый фон.

Procedure DrawItem();
var
BM1,bm2:TBitMap;
Begin
BM1:=Tbitmap.create;
bm1.LoadFromFile("C:\1.bmp");
bm2:=Tbitmap.create;
StretchBlt(bm2.Canvas.Handle,0,0,100,100,bm1.Canvas.Handle,0,0,500,500,SrcCopy);
form1.Image1.Picture.Bitmap:=bm2;
bm1.Free;
bm2.Free;
End;


 
MBo ©   (2003-04-14 16:16) [1]

размеры bm2 задай


 
Ajax ©   (2003-04-14 19:56) [2]

Спасибо. Код заработал.

Только вот одно "НО". Так гавено масштабируется, огромное количество артефактов. Так и должно быть или я что-то не так делаю???


 
Knight ©   (2003-04-14 20:49) [3]

SetStretchBltMode(BMP2.Canvas.Handle,HALFTONE);
StretchBlt(BMP2.Canvas.Handle,0,0,BMP2.Width,BMP2.Height,BMP1.Canvas.Handle,0,0,BMP1.Width,BMP1.Height,SRCCOPY);


 
Knight ©   (2003-04-14 20:56) [4]

И вообще, для чего люди в свои программы справку встраивают?
Если ей никто пользоваться не умеет... Дела через эту же функцию превью для мзображений в Базе открыл Хелп... почитал... сделал и заработало. :)


 
Ajax ©   (2003-04-16 07:13) [5]

Спасибо, уважаемые.


>И вообще, для чего люди в свои программы справку встраивают?
>Если ей никто пользоваться не умеет

Так я свой код как раз из справки-то и вычитал, только видать не до конца читал...


 
Думкин ©   (2003-04-17 07:19) [6]


> SetStretchBltMode(BMP2.Canvas.Handle,HALFTONE);

Сие верно но не всегда. Если уж так, то опять в тупую читаем справку(MSDN):

Maps pixels from the source rectangle into blocks of pixels in the destination rectangle. The average color over the destination block of pixels approximates the color of the source pixels.
After setting the HALFTONE stretching mode, an application must call the SetBrushOrgEx function to set the brush origin. If it fails to do so, brush misalignment occurs.

This option is not supported on Windows 95/98/Me.

А в этих сситемах какчественно, мне GL32 помог.


 
Думкин ©   (2003-04-17 07:20) [7]


> SetStretchBltMode(BMP2.Canvas.Handle,HALFTONE);

Сие верно но не всегда. Если уж так, то опять в тупую читаем справку(MSDN):

Maps pixels from the source rectangle into blocks of pixels in the destination rectangle. The average color over the destination block of pixels approximates the color of the source pixels.
After setting the HALFTONE stretching mode, an application must call the SetBrushOrgEx function to set the brush origin. If it fails to do so, brush misalignment occurs.

This option is not supported on Windows 95/98/Me.

А в этих системах качественно мне GL32 помог.



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

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



Память: 0.46 MB
Время: 0.008 c
14-12869
Карлсон
2003-04-16 17:25
2003.05.05
экология


1-12753
Zilog
2003-04-18 15:47
2003.05.05
Тормоза при работе с потоком. API. CreateThread.


4-12972
}{enon
2003-03-05 16:23
2003.05.05
Странный глюк


3-12629
Hedron
2003-04-15 17:17
2003.05.05
Доступ к системным таблицам Access


1-12696
salvo
2003-04-22 18:25
2003.05.05
StrToFloat




   Наверх