Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.033 c
1-1098099769
ORMADA
2004-10-18 15:42
2004.10.31
Ярлыки


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


6-1093423322
RaPtoR_1
2004-08-25 12:42
2004.10.31
считывание из окна ие


1-1098021917
kein
2004-10-17 18:05
2004.10.31
Excel файлы


14-1097296494
Stef
2004-10-09 08:34
2004.10.31
Метод Брезенхема. Прямой доступ к видео памяти.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский