Главная страница
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.021 c
3-12610
Jaxtor
2003-04-15 13:56
2003.05.05
Ошибка при выполнении Insert


7-12956
Fast
2003-03-13 22:05
2003.05.05
Работа с COM портом.


14-12889
Psibug
2003-04-17 10:06
2003.05.05
Существует ли спецификация для Explorer.exe


1-12824
v.topalov
2003-04-22 19:29
2003.05.05
Обман программы


3-12606
Жорик
2003-04-15 12:36
2003.05.05
Картинки в БД Access