Seite 1 von 1

Wie Bilder transformieren ( verzerren ) ?

Verfasst: 03.11.2004 09:47
von dige
Hi!

Ich bräuchte eine Funktion mit der ich ein PB-Image transformieren,
bzw. perspektifisch verzerren kann.
Im Prinzip analog dem Sprite3DTransform()...

Code: Alles auswählen

  +----------+         +------+
  |          |        /        \
  | Original |  ->   /  Trans-  \
  |          |      /  formiert  \
  +----------+     +--------------+     
Gibt es da eine API für?

Beste Grüße,

dige

Verfasst: 03.11.2004 13:34
von Mischa
Hi!

Ja, gibt es.

SetWorldTransform_() - GDI32
PlgBlt_() -GDI32

Allerdings gehen die nicht unter 95/98/Me

Dann gibt es da natürlich noch die GDI+ die da auch einiges bietet.
Vorteil: Die lib ist portabel. Kann man also mitliefern.
Ist aber nicht mein Gebiet.

Und dann gibt es natürlich noch handgemachtes, wie z.B. diese
Routine von Einander aus dem englischen Forum.

http://purebasic.myforums.net/viewtopic ... t=einander

Die Methode ist zwar nicht sonderlich schnell, aber läßt sich sicherlich
optimieren. (Falls Du einen Ersatz für Polygon_() findest :wink: )

Gruß,
Mischa

Verfasst: 05.11.2004 16:48
von dige
Hallo Mischa,

Danke für die Hinweise. Leider ist die Procedure von Einander
wirklich viel zu langsam und mit dem SetWorldTransform_() komme
ich nicht klar. Das verdreht doch nur das Koordinatensystem, oder?

Wie kann ich denn da ein Bild trapezförmig skalieren?

cya dige