![]() |
image
hai
kann man irgendwie ein image perspektivisch darstellen?? |
Re: image
Meinst du so etwas:
![]() In meinem ersten Posting gibt es einen Sourcecode für das Coverflow mit GR32. Da kannst du die Funktion PaintCover verwenden, um ein Bild perspektivisch zu zeichnen! //edit: Die hier meine ich:
Delphi-Quellcode:
procedure PaintCover(DestBitmap:TBitmap32;x,y,width,height:integer;perspectiv:single;angle:integer;picture:TBitmap32);
var lo,lu,ro,ru:TPoint; mo,mu:extended; i,j:integer; dummy:integer; begin //vier Eckpunkte des Covers berechnen: lo.x:=x; lo.Y:=y; lu.X:=x; lu.Y:=y+height; ru.x:=round(lu.x+width*cos(abs(angle)/360*2*Pi)); ru.y:=round(lu.y-perspectiv*height/2*sin(abs(angle)/360*2*Pi)); ro.X:=ru.x; ro.Y:=round(ru.y-height+perspectiv*height*sin(abs(angle)/360*2*Pi)); if angle<0 then begin dummy:=ro.y; ro.y:=lo.y; lo.y:=dummy; dummy:=ru.y; ru.y:=lu.y; lu.y:=dummy; dummy:=(width-(ro.x-lo.x)); lo.x:=lo.x+dummy; lu.x:=lu.X+dummy; ro.x:=ro.X+dummy; ru.x:=ru.x+dummy; end; //Steigung der oberen und unteren Kante berechnen: mo:=-(ro.Y-lo.Y)/(ro.x-lo.X); mu:=-(ru.Y-lu.Y)/(ru.x-lu.x); //bild zeichnen: DestBitmap.BeginUpdate; DestBitmap.Clear(clblack); for i:=0 to (ro.X-lo.x) do for j:=round(-i*mo) to round((lu.Y-lo.y)+i*mo) do DestBitmap.Pixel[lo.X+i,lo.Y+j]:=round(picture.Pixels[round(picture.Width/(ro.x-lo.X)*i),round(picture.Height/((lu.Y-lo.y)+2*i*mo)*(j+i*mo))]); //Rechteck zeichnen: with DestBitmap do begin pencolor:=clsilver; moveto(lo.x,lo.y); linetos(lu.x,lu.y); linetos(ru.x,ru.y); linetos(ro.x,ro.y); linetos(lo.x,lo.y); end; DestBitmap.EndUpdate; end; |
Re: image
Liste der Anhänge anzeigen (Anzahl: 1)
es kommt schon direkt en fehler
| | | |
Re: image
Entweder Du installierst die Graphics32-Bibliothek oder Du benennest TBitmap32 in TBitmap um, dann wird das ganze aber sehr langsam. :zwinker:
|
Re: image
@Die Muhkuh...ich die funktion linetos, die tbitmap nicht hat, da bringt das umbenennen nix...
:) Wie oben geschrieben, benötigst du - für den Code noch die Units von GR32. Das sind erweiterte Grafikkomponenten für Delphi die mehr und viel schnellere Funktionen bieten, als die Standard-Delphi Funktionen. Lad dir das erstmal runter und installier es: ![]() |
Re: image
wie geht das installieren ? sorry hab ich noch nie gemacht
|
Re: image
Hier die Anleitung von der Seite! Viel Erfolg!
![]() |
Re: image
so habs installiert danke^^
|
Re: image
sorry das ich so viele fragen stelle doch jetz kommt imma noch das vonvorhin
|
Re: image
Zeig mal Deinen kompletten Quelltext
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz