Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.05;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.011 c
14-12898
alex134
2003-04-10 22:26
2003.05.05
Отладка


1-12688
просто Джо
2003-04-21 12:04
2003.05.05
Вот все тут спрашивают: как убрать полосу прокрутки...


1-12746
AlexOld
2003-04-20 10:12
2003.05.05
Как менять размер массива, являющегося полем записи


1-12806
JS
2003-04-22 01:54
2003.05.05
Написание компонентов


3-12674
Tornado
2003-04-15 12:55
2003.05.05
Имена таблиц