Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.03;
Скачать: CL | DM;

Вниз

вопрос по повороту Bitmap   Найти похожие ветки 

 
Martyn   (2002-05-21 12:57) [0]

Привет всем!

подскажите, как повернуть изображение физически в файле на 90 градусов: т.е.

dest.width := source.height;
dest.height := source.width;
dest.pixelformat := source.pixelformat;
dest.pallete := source.palette;


и желательно через WinAPI - скорость очень лимитирует


 
MBo ©   (2002-05-21 13:01) [1]

ScanLine или GetDiBits/SetDiBits


 
Martyn   (2002-05-21 13:25) [2]

2MBo

а живой код можно увидеть...:)))) буду признателен


 
MBo ©   (2002-05-21 13:38) [3]

со ScanLine или GetDiBits/SetDiBits?


 
Martyn   (2002-05-21 14:20) [4]

2MBo

c GetDiBits/SetDiBits

API все-таки быстрее работает


 
MBo ©   (2002-05-21 14:31) [5]

это как дело с getdibits иметь. более полный пример с setdibits
я в форуме давал, но поиск не работает
procedure TForm1.Button2Click(Sender: TObject);
var b:tbitmap;
a:array[0..9,0..9] of TRGBQuad;
s:string;
info:tbitmapinfo;
i,j:integer;
begin
b:=tbitmap.create;
b.PixelFormat:=pf24bit;
b.width:=10;
b.height:=10;
b.Canvas.moveTo(0,0);
b.Canvas.LineTo(6,6);
with info.bmiHeader do begin
biWidth:=b.Width;
biHeight:=b.Height;
biSize:=SizeOf(TBITMAPINFOHEADER);
biCompression:=BI_RGB;
biBitCount:=32;
biPlanes:=1;
biSizeImage:=((biWidth*biBitCount+31)div 32)*biHeight*4;//Не обязательно для 24-бит
end;
GetDIBits(b.canvas.handle, B.Handle, 0,B.Height,@a,Info,DIB_RGB_COLORS);
for i:=0 to 9 do begin
s:="";
for j:=0 to 9 do s:=s+inttohex(a[i,j].rgbRed,2)+" ";
memo1.lines.add(s);
end;
image1.picture.assign(b);
b.free;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
4-7253
JaMin
2002-03-29 16:19
2002.06.03
Преобразование Virtual Key Code _to_ Scan Code


14-7219
4D man
2002-04-23 16:23
2002.06.03
Что написать?


1-7007
Dennn_is
2002-05-23 13:54
2002.06.03
Уважаемые Мастера!


6-7155
Beginner
2002-03-21 18:30
2002.06.03
Как програмно отключить соединение с сетью.


1-7067
Icemen
2002-05-14 21:05
2002.06.03
Патчи