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

Как   Найти похожие ветки 

 
Unplugged   (2002-02-19 16:27) [0]

Как "повернуть" Прозрачный Image на определённый угол?

Такая проблема надо сделать подвижную карту звёздного неба! Для этого мне необходимо как-бы над самим небом
поворачивать накладной круг. Вот именно для этого мне и надо image крутить!
Братья по разуму помогите ГОРЮ


 
MBo ©   (2002-02-19 16:45) [1]

function TForm1.BmpRot(const B: TBitmap;fi:integer):TBitmap;
type
TRGBTripleArray = array[0..1023] of TRGBTriple;
pRGBTripleArray = ^TRGBTripleArray;
var
x0,y0,i,j,x1,y1,x11,y11,x2,y2:integer;
ht,wd,newht,newwd:integer;
cfi,sfi: double;
sline1,sline2: pRGBTRipleArray;
BEGIN
sfi:=sin(degtorad(fi));
cfi:=cos(degtorad(fi));
ht:=b.height;
wd:=b.width;
newwd:=abs(round(ht*sfi))+abs(round(wd*cfi));
newht:=abs(round(wd*sfi))+abs(round(ht*cfi));
Result:=TBitmap.create;
Result.Width:=newwd;
Result.Height:=newht;
Result.PixelFormat:=pf24bit;
x0:=wd div 2;
y0:=ht div 2;
for j :=newht-1 downto 0 do begin
sline2 := Result.scanline[j];
y1:= 2*(j-(newht-ht) div 2 -y0)+1;
for i := newwd-1 downto 0 do begin
x1:=2*(i-(newwd-wd) div 2 -x0)+1;
x2 :=round(x1 * cfi - y1 * sfi);
y2 :=round(x1 * sfi + y1 * cfi);
x11:=(x2-1) div 2 +x0;
y11:=(y2-1) div 2 +y0;
if (x11>=0)and(x11<wd)and(y11>=0)and(y11<ht) then begin
sline1 := b.scanline[y11];
sline2[i] := sline1[x11];
end;
end;
end;
end;



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

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



Память: 0.45 MB
Время: 0.009 c
4-19385
AntBofh
2002-01-10 14:31
2002.03.07
Тупой вопрос !!! Про реестр!


3-19112
Vacheslav
2002-02-11 16:20
2002.03.07
КАК изменить имена колонок в таблице


1-19186
MaXie
2002-02-18 15:46
2002.03.07
Группа элементов -> один параметр


6-19285
sumy_vlad
2001-12-21 11:03
2002.03.07
Help


1-19253
NLO
2002-02-20 07:22
2002.03.07
У TreeView свойство RightClickSelect = true как получить текст выделенного узла




   Наверх