Форум: "Потрепаться";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизУ кого есть описание или help по FastLib? Найти похожие ветки
← →
Knight © (2004-10-09 01:45) [0]...
← →
Knight © (2004-10-09 01:55) [1]А может кто так подскажет, какой процедурой можно вписать изображение в трапецию?
← →
Knight © (2004-10-09 11:36) [2]Как вращать нашёл, как выводить по трём точкам, делая сдвиг, тоже, а вот как в трапецию... никак :(
← →
Fenik (2004-10-10 10:49) [3]Хелпа нет. И процедуры такой там тоже нет.
Самостоятельно. :)
← →
Mihey_temporary © (2004-10-10 13:23) [4]Используй Graphic32 (а именно TProjectiveTransformation).
← →
Fenik (2004-10-10 14:53) [5]Дурацкий, но работающий вариант для TBitmap:
procedure Trapezoid(Src, Dest: TBitmap; Amount: Word; Style: Byte);
var dx, x, y, c, cx, w, h: Integer;
p0, p1: pByteArray;
Bmp: TBitmap;
begin
w := Src.Width - 1;
h := Src.Height - 1;
Dest.Width := w+1;
Dest.Height := h+1;
Dest.Canvas.FillRect(Rect(0,0,Dest.Width,Dest.Height));
Amount := Min(Src.Width div 2, Amount);
Bmp := TBitmap.Create;
try
Bmp.Height := 1;
Bmp.Width := w+1;
Bmp.PixelFormat := pf24bit;
cx := Src.Width div 2;
p0 := Bmp.ScanLine[0];
for y := 0 to h do begin
p1 := Src.ScanLine[y];
c := 0;
for x := 0 to w do begin
p0[c] := p1[c];
p0[c+1] := p1[c+1];
p0[c+2] := p1[c+2];
Inc(c, 3);
end;
case style of
0: dx := Round((h-y)/(h+1) * Amount);
1: dx := Round(y/(h+1) * Amount);
end;
Dest.Canvas.StretchDraw(Rect(dx, y, (w+1) - dx, y+1), Bmp);
end;
finally
Bmp.Free;
end;
end;
Style = 0 - сжимаем вверху
Style = 1 - сжимаем внизу
← →
Knight © (2004-10-10 18:24) [6]
> [5] Fenik (10.10.04 14:53)
> Дурацкий, но работающий вариант для TBitmap:
У меня получилось примерно тоже самое... но это слишком тормознуто по-определению :(
> [4] Mihey_temporary © (10.10.04 13:23)
> Используй Graphic32 (а именно TProjectiveTransformation).
Где-то такое видел... гляну :)
← →
Knight © (2004-10-10 19:11) [7]
> [4] Mihey_temporary © (10.10.04 13:23)
Спасибо... то, что надо :)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c