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

Вниз

У кого есть описание или 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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.053 c
14-1097489212
Holy
2004-10-11 14:06
2004.10.31
Белгородская сходка.


8-1091320492
parovoZZ
2004-08-01 04:34
2004.10.31
КАК быстрее?


1-1097604924
Васёк
2004-10-12 22:15
2004.10.31
Проверка при выходе из программы


14-1097606468
tox
2004-10-12 22:41
2004.10.31
Работа с плейлистами.


1-1097840586
Dinnik
2004-10-15 15:43
2004.10.31
Как записать кавычку в SQL ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский