[Allegro] Stretch und Rotate zugleich



  • Hallo,

    ich arbeite seit ein paar Tagen mit Allegro, um meinen Weg in die Grafik Programmierung zu finden.

    Mein Problem:
    Ich möchte ein Bitmap strecken und rotieren lassen.

    Mit stretch_sprite(..) kann ich ein Bitmap verzerren. In dem Beispiel wird das Bild auf 10x110 Pixel gezerrt.

    stretch_sprite(buffer, Bild, 0, 0, 10, 110);
    

    Mit rotate_sprite(..) kann ich ein Bitmap rotieren lassen um den Wert angle.
    In diesem Beispiel wird das Bild um den angle Wert 24 gedreht.

    angle = 24;
    rotate_sprite(buffer,Bild,0,0,itofix(angle));
    

    Nun möchte ich beides gleichzeitig haben. Also erst das Bild verzerren und dazu noch drehen.

    Mit rotate_scaled_sprite(..) kann ich ein Bitmap nur drehen und proportional vergrößern. Ich möchte das Bild aber unförmig verzerren.

    Ich habe auch versucht ein art "Buffer" Feld zu erstellen auf den ich das gezerrte Bild zeichne und dann das "Buffer" Bitmap drehe. Nur wenn ich das Objekt erzeuge muss ich schon eine Größe Angeben, und im fortlaufenden Programm sind die Stretchangaben variabel.

    Ich hoffe jemand kann mir helfen,

    MfG FabiF

    Edit:
    Ich lese sehr viele Empfehlungen über SFML. Doch jeder Versuch ein Funktionierendes Projekt zu erstellen ist gescheitert. Ich weiß nicht genau was ich falsch mache. Kennt jemand ein Schritt für Schritt Tutorial für SFML. Builder ist egal, sollte nur unter Windows sein. Ich würde mich auch sehr freuen wenn mir jemand das kurz erklären könnte um SFML einzubinden, gerne über einen Messenger.
    Ich bin seit ca. einer Woche an dem Versuch, endlich 2D Grafiken zu erstellen für ein Schulprojekt bei dem wir ein Spiel programmieren sollen. Ich habe mir hge, SDL, SFML, und Allegro angesehen.
    mit hge kam ich einigermaßen zurrecht, aber es hat mir nicht sonderlich gefallen und war für den Anfang ein wenig zu kompliziert. Danach hat mir ein Freund ALlegro empfohlen. Damit habe ich gelernt wie das Umgehen mit Grafiken usw. funktioniert, da es dort sehr einfach ist, Bilder einzubinden und damit zu arbeiten. Ich hab sehr lange mit der GUI Oberfläche die Borland und VC++ bieten gearbeitet und bin dadurch total verwöhnt. Mit Allegro komm ich einigermaßen klar. Das schwierigste ist einfach das Projekt zum laufen zu bringen. Die Berechnungen, Objektorientiert programmieren usw. kann ich dann problemlos machen.
    Mit dem Tutorial auf der sfml Webseite kann ich leide rnicht viel anfangen. Ich hab so viel versucht und nichtmal ein Fenster bekomme ich hin. Ich habe keine Erfahrungen wie man Bibliotheken einbinden muss usw.

    MfG FabiF



  • Du kannst aus der BITMAP-Struktur jederzeit Breite (bild->w) und Höhe (bild->h) befragen, und die als Parameter für die beiden Funktionen nutzen. Es sollte deshalb durchaus möglich sein (eben über eine temporäre buffer-bitmap) dies sehr variabel zu gestalten.
    Eine unförmige Verzerrung wird dabei aber nicht rauskommen.
    Das wird wohl nur mit berechneten Pixeloperationen möglich sein.


Anmelden zum Antworten