![]() |
Andorra2D bilder verzerren
grüße an alle die in dieses thema gefunden haben
ich würde gerne wissen wie man mit Andorra 2d Bilder verzerren kann zb in eine trapetz form oder ähnliches zuzeit verzerre ich die bilder mit der graphic32 erweiterung jedoch dauert das zu lange da es für ein spiel bestimmt ist. das verzerren müsste so ablaufen das man die 4 eckpunkte fest setzt und das bild dan so verzerrt wird das der zwischen raum damit vollständig ausgefüllt wird Dankeschonmal im vorraus Gruß Sportkeks |
AW: Andorra2D bilder verzerren
Erzeuge mithilfe der TAd2DMesh Klasse ein Gitter aus Vertices, binde entsprechende Texturkoordinaten daran und verzerre das Gitter entsprechend nach deinen angegebenen Eckpunkten. Der gesamte Code dafür - ohne die Verzerrung - befindet sich bereits in der TAdCustomImage Klasse.
|
AW: Andorra2D bilder verzerren
ist ja simpel :thumb:
vielen dank für die schnelle hilfe funzt super :D gruß Sportkeks |
AW: Andorra2D bilder verzerren
ist jetzt schon ne weile her aber mir ist jetzt erst was aufgefallen was mir daran nicht so gefällt
wie kann ich sowas verhindern: ![]() also ich will das es gleichmäßig gestreckt wird und nicht so naja ich sag mal "dreieckartig" hoffe ihr versteht was ich meine so siehts zur zeit bei mir aus:
Delphi-Quellcode:
gibt es noch eine andere möglichkeit??
addraw.ClearSurface(0);
// strecken mit beispiel zahlen img.AdMesh.Vertices[0].Position:=AdVector3(0,0,0); img.AdMesh.Vertices[1].Position:=AdVector3(400,200,0); img.AdMesh.Vertices[2].Position:=AdVector3(0,440,0); img.AdMesh.Vertices[3].Position:=AdVector3(400,400,0); img.AdMesh.Update; addraw.BeginScene; img.Draw(addraw,0,0,0); addraw.EndScene; addraw.Flip; schonmal danke im vorraus Gruß Sportkeks |
AW: Andorra2D bilder verzerren
gibt es etwa keine andere möglichkeit ? :(
|
AW: Andorra2D bilder verzerren
Ich habe jetzt auch im Delphi Forum nachgefragt.
![]() edit: Vielleicht könnte ein Mod meine letzten 2 Beiträge zu einem zusammen packen ? Gruß Sportkeks |
AW: Andorra2D bilder verzerren
Hi, leider sehe ich deinen Beitrag erst so spät. Dieses Problem hatte ich auch im Canvas (ich glaube das kann man auch irgendwie zum Bilder verzerren verwenden, müsste aber erst nachschauen wie das ging). Setze den Zeichenmodus des "Meshs" nicht auf "TriangleStrip" sondern auf "TriangleFan" (siehe auch hier
![]() |
AW: Andorra2D bilder verzerren
Danke für deine Antwort nur leider kann ich damit nicht viel anfangen ich habe den Drawmode auf adTriangleFan umgestellt und etwas herrumexperimentiert,
ich habe diverse koordinaten konstellationen durchprobiert kam aber nix brauchbares bei raus. ein kleines beispiel wäre vielleicht sehr hilfreich aber irgendwie bezweifle ich das man mit der vertex geschichte ein verformtes viereck zustande bekommt ohne irdendwelche kanten im bild die von einer ecke zur anderen verlaufen. gruß Sportkeks |
AW: Andorra2D bilder verzerren
Hi, schau mal ob die Funktion "Canvas.DrawQuad" bessere Ergebnisse bringt...
Siehe: ![]() |
AW: Andorra2D bilder verzerren
Liste der Anhänge anzeigen (Anzahl: 1)
nein man erhält leider keine besseren Ergebnisse sondern genau die gleichen :cry: :wall:
hier ein Bild davon: ![]() und hier der Quelltext:
Delphi-Quellcode:
Ich hoffe du kennst vielleicht noch eine andere Möglichkeit ansonsten wäre das sehr schade denn dan wäre es nicht möglich mein Vorhaben mit Andorra2D umzusetzen :(
var quad:TAdCanvasQuad;
begin quad.p[0]:=AdVector2(0,0); quad.p[1]:=AdVector2(440,0); quad.p[2]:=AdVector2(460,540); quad.p[3]:=AdVector2(100,400); addraw.Canvas.Brush.TextureMode:=tmStretchalign; addraw.Canvas.Brush.Texture:=imglist.Find('stone').Texture.Texture; addraw.BeginScene; addraw.Canvas.DrawQuad(quad); addraw.EndScene; addraw.Flip; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 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