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

BitMap с поворотом   Найти похожие ветки 

 
Леприкон ©   (2003-05-16 16:07) [0]

Подскажите пожалуйста, как можно разместить BitMap на канвасе формы под углом?

Спасибо.


 
MBo ©   (2003-05-16 16:09) [1]

SetWorldTransform для NT-семейства


 
Юрий Федоров ©   (2003-05-16 16:16) [2]

А для не NT - Torry.net


 
MBo ©   (2003-05-16 16:47) [3]

В чате уточнилось - NT

SetGraphicsMode(Canvas.Handle, GM_ADVANCED);
ModifyWorldTranform - MWT_IDENTITY
ModifyWorldTranform - сдвиг на -X, -Y центра поворота MWT_RIGHTMULTIPLY
ModifyWorldTranform - поворот MWT_RIGHTMULTIPLY
ModifyWorldTranform - сдвиг на +X, +Y центра поворота MWT_RIGHTMULTIPLY
BitBlt

Другой путь - PlgBlt (сначала посчитать координаты трех углов повернутой картинки)





 
Леприкон ©   (2003-05-16 16:55) [4]

Спасибо.


 
Леприкон ©   (2003-05-19 09:03) [5]

А как BitMap повернуть на 30 градусов не искажая изображения?
Пытаюсь делать так.

procedure BitMapRotate;
var bm:TBitMap;
xf:XFORM;
begin
bm:=TBitMap.Create;
bm.LoadFromFile("e:\logo\l2.bmp");

xf.eM11:=0.866; xf.eM12:=1;
xf.eM21:=1; xf.eM22:=0.5;

SetGraphicsMode(Canvas.Handle, GM_ADVANCED);
ModifyWorldTransform(Canvas.Handle,xf,MWT_RIGHTMULTIPLY);
BitBlt(Canvas.Handle,0,0,bm.Width,bm.Height,bm.Canvas.Handle,0,0,MERGECOPY);

bm.Free;
end;

Но область BitMap просто наклоняется...


 
Axis_of_Evil ©   (2003-05-19 13:01) [6]

>ModifyWorldTransform(Canvas.Handle,xf,MWT_RIGHTMULTIPLY);
SetWorldTransform?

>xf.eM11:=0.866; xf.eM12:=1;
>xf.eM21:=1; xf.eM22:=0.5;
Уверен?



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

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



Память: 0.46 MB
Время: 0.013 c
1-13139
Alexander
2003-05-26 08:10
2003.06.05
Как в CheckListBox при разрешённых Grayed итемах программно


6-13345
Puzzle
2003-04-02 12:32
2003.06.05
Как определить, что Dial-up соединение уже установлено?


1-13239
qwerty2
2003-05-23 10:40
2003.06.05
Debugger в Delphi6


1-13292
Aleksei85
2003-05-24 16:08
2003.06.05
Алгоритм перевода русс. текста в транслит


8-13328
neodiX
2003-02-20 12:12
2003.06.05
Как с DirectDraw скопировать экран?




   Наверх