Главная страница
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.012 c
14-12922
Aristarh
2003-04-17 16:36
2003.05.05
Нужен перевод двух фраз на украинский


1-12730
Рома-р
2003-04-23 14:07
2003.05.05
Как создать *.RTF с альбомным расположением листа?


1-12690
ДмитрийК
2003-04-22 23:26
2003.05.05
Можно ли в программе получить информацию о стеке вызоаов функций?


4-12981
Fire Man
2003-03-04 10:15
2003.05.05
Как програмно нажать кнопку на чужом приложении?


1-12763
Carmen
2003-04-22 08:02
2003.05.05
Как полностью изменить внешний вид DBLookupComboBox