tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
730
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Exerior Exerior ist offline Grünschnabel
    Registriert seit
    Jan 2002
    Beiträge
    1
    Folgendes Problem:

    Ich habe viele kleine Bilder in einer TDXImageList. Jetzt möchte ich daraus ein Gesamtbild aufbauen, dieses aber nicht gleich auf eines der beiden Haupt-Surfaces zeichnen, sondern, wenn möglich, in einem dritten Surface speichern.

    Ich habe aber bisher noch keine andere Möglichkeit die Bilder in der Image List zu zeichnen als mit "TPictureCollectionItem.Draw". Aber bei dieser Methode brauche ich einen Surface. Somit konnte ich es auch nicht in Sprite.Image schreiben (vielleicht hab ich auch einen Fehler gemacht).

    Hier nochmal zur Verdeutlichung:

    Code :
    1
    2
    3
    
    // Die Zeile zum zeichnen, aber er zeichnet halt gleich auf den Hauptsurface :(
    Programm.DXImageList1.Items.Find( 'Bild_1 ).draw(Programm.DXDraw1.Surface, 0, 0, 0);
    Programm.DXImageList1.Items.Find( 'Bild_2 ).draw(Programm.DXDraw1.Surface, 10, 0, 0);
    Ich will letztlich irgendwie Bild_1 und Bild_2 in ein Bild zusammenfügen.....

    megathx für jeden Tip oder gar Lösung
     

  2. #2
    CoG CoG ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Beiträge
    95
    Also hier mal ein kleiner ausschnitt wie es aufgebaut sein könnte
    (die items spreche ich nicht wie du per name sondern per index an ..
    sei es dahingestellt was besser ist .. )
    eines musst du nur bedenken.. falls du mit hintergrund etc. arbeiten möchtest dann achte auf die rehenfolge damit später nicht nur das größte bild zusehen ist

    bei rückfragen einfach posten....

    nadann viel spass



    procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
    begin
    if not DXDraw1.CanDraw then Exit; //Raus aus der procedure wenn
    //nicht auf dem surface gezeichnet
    //werden kann
    DXDraw1.Surface.Fill(0);
    dximagelist1.Items[0].draw(DXDraw1.Surface, x,y, 0);
    dximagelist1.Items[1].draw(DXDraw1.Surface, x,y, 0);
    dximagelist1.Items[2].draw(DXDraw1.Surface, x,y, 0);
    dximagelist1.Items[3].draw(DXDraw1.Surface, x,y, 0);
    dximagelist1.Items[4].draw(DXDraw1.Surface, x,y, 0);
    DXDraw1.Flip;
    end;
     

Ähnliche Themen

  1. Bild-Binärcode zum Bild machen - Problem
    Von Jukkales im Forum PHP
    Antworten: 4
    Letzter Beitrag: 23.02.06, 16:06
  2. Problem mit DelphiX Kollisionserkennung
    Von whitesharktwo im Forum Delphi, Kylix, Pascal
    Antworten: 0
    Letzter Beitrag: 14.08.04, 20:02
  3. DelphiX Collision-Problem
    Von DarkJones im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 15.02.04, 10:49
  4. DelphiX Probleme
    Von EF_ToMCaT im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 16.12.03, 08:16
  5. Problem mit Bild
    Von Gullynbg im Forum Photoshop
    Antworten: 7
    Letzter Beitrag: 17.06.02, 14:52