Уже месяца 3 ищу в инете процедуру поворота изображения. Скачал это:
Код:
procedure povorot(bmp1: tbitmap; var bmp2: tbitmap; a: real);
var
x1,y1: integer; // íîâàÿ òî÷êà
x2,y2: integer;
r: single; // ðàñòîÿíèå îò xo,yo è òî÷êîé êîòîðóþ íóæíî ïîâåðíóòü
xo, yo: integer; // îòíîñèòåëüíî êàêîé òî÷êè íóæíî ïîâîðà÷èâàòü
s, c: extended; // sin cos
begin
xo:=bmp1.Width div 2; yo:=bmp1.Height div 2; // öåíòð êàðòèêè
for y2 := 0 to bmp1.Height - 1 do
for x2 := 0 to bmp1.Width - 1 do
begin
r := sqrt(sqr(x2 - xo) + sqr(y2 - yo)); // ðàñòîÿíèå îò ïîâîðà÷èâàåìîé òî÷êè äî òîé òî÷êè îòíîñèòåëüíî êîòîðîé íóæíî ïîâîðà÷èâàòü
SinCos(a + arctan2((y2 - yo), (x2 - xo)), s, c);
x1:=round(xo + r * c); y1:=round(yo + r * s);
if (x1>=0)and(x1<bmp1.Width)and(y1>=0)and(y1<bmp1.Height) then // åñëè òî÷êà ïîñëå ïîâîðîòà íàõîäèòñÿ íà êàðòèíêå òî ðèñóåì åå
begin
if bmp1.Canvas.Pixels[x1,y1]<>clwhite then
bmp2.Canvas.Pixels[x2,y2]:=bmp1.Canvas.Pixels[x1,y1];
end
else // èíà÷å âìåñòî íåå öâåò êîòîðûé áóäåò ïðîçðà÷íûé(â äàííîì ñëó÷àå áåëûé)
bmp2.Canvas.Pixels[x2,y2]:=clwhite;
end;
end;
После копирования с пояснениями что то случилось...
Вообщем функцию скачал... А че с ней делать незнаю!!! Пожалуйста объясните! Или кинте другую...
И что такое DLL и что с ним (как?) делать киньте ссылку на статейку... плз.