Problem mit DelphiX Bild

Exerior

Grünschnabel
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:
// 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 :)
 
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;
 
Zurück