tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
1777
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    der Daniel der Daniel ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    11
    Tag!
    Ich bin noch ein ziemlicher Anfänger, aber kann mir vielleicht jemand verraten, wie man viele kleine Bitmaps in eine Komponente laden kann? In ein Drawgrid oder so?
    Wäre wahnsinnig nett, wenn jemand antworten täte.
     

  2. #2
    WieGehts WieGehts ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    130
    Hallo,
    es kommt natürlich darauf an, was man machen will. Aber in ImageList können "jede Menge" Bitmaps geladen werden.
     

  3. #3
    der Daniel der Daniel ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    11
    Sehr schön. Das habe ich inzwischen auch herausgekriegt. Aber wenn mir jetzt noch jemand verraten würde, wie man die Bilder aus der Bilderliste ins Image bekommt, wäre das gar nich so schlecht.
     

  4. #4
    WieGehts WieGehts ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    130
    Hallo,
    ich weiß zwar noch immer nicht was du machen willst, aber da ich bei meiner ersten Antwort scheinbar auf die von dir bereits gefundene Lösung gekommen bin, will ich es noch mal versuchen und werde weiterraten.
    Du meinst mit "das Image" die Image-Komponente. Ein Bitmap aus der Imageliste kannst du mit
    Code :
    1
    
    ImageList1.GetBitmap(0, Image1.Picture.Bitmap);
    laden. 0 ist in diesem Fall der Index des Bildes in der Imageliste. Weitere Infos findest du in der Delphihilfe.
     

  5. #5
    der Daniel der Daniel ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    11
    Danke schön, ganau das wollte ich wissen!
     

  6. #6
    der Daniel der Daniel ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    11
    Nee, gar nichts erledigt.
    Da du freundlicher Mensch mir so nett antwortest, kannst du mir vielleicht einen allgemeinen Tipp geben. Und zwar will ich ein tolles Strategiespiel bauen und die Karte natürlich in Quadrate einteilen. Es sollen ca. 30 x 30 werden, soll ich da 900 Image-Komponenten platzieren, um alle „Kartenstücke“ anzuzeigen, oder wie? Ich will sie als Bitmap laden.
    Und wir kann ich jpg-Dateien laden?
     

  7. #7
    der Daniel der Daniel ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    11
    Versteht einer, was ich wissen will?
    Ich möchte einfach nur wissen, wie man viele, viele Bilder gleichzeitig anzeigen kann, weil in eine Image-Komponente kann man doch nur ein Bild gleichzeitig laden.
    Das kann doch nicht so kompliziert sein, wie es klingt!
     

  8. #8
    Hellie Hellie ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    252
    Vielleicht solltest du deine Formulierungen etwas überdenken, dann klappts auch eher mit der Antwort

    Wenn ich dich richtig verstehe, solltest du dir mal das dynamische Erzeugen von VCL-Komponenten anschauen (Delphi-Hilfe, Internet, ... ).Wenn du deine Bilddateien exakt benennst, klappt auch das Laden ganz gut.

    Helfen dir natürlich, wenn es noch irgendwelche Probleme geben sollte.
     

  9. #9
    der Daniel der Daniel ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    11
    Danke für das Stichwort, auf http://www.christian-stelzmann.de/ar...ntenarrays.htm stand ja alles. Google ist schon cool.
    Jetzt habe ich aber folgendes Problem: Die 900 Image-Komponenten werden erstellt, aber wenn ich versuche, dort Bilder reinzuladen, stürzt mein Rechner bei einer Anzahl zwischen 600 und 800 ab. Muss man da irgendwie Rechenzeit freigeben, oder so?
     

  10. #10
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Hi Daniel

    Ich vermute mal, dass Du nicht 900 verschiedene Bitmaps hast, oder?

    Also ich nehme mal an, Du hast vielleicht nur 40 verschiedene Landschaftstypen, die Du dann evtl noch mit ein paar weiteren Dingen veränderst.

    Dann benötigst Du in der Imageliste nur die 40 Bildchen, die Du zur Anzeige in dem 30x30 Quadrat teilweise wiederholt darstellst (das spart eine Menge Resourcen.....)

    Gruß
    vop
     

  11. #11
    WieGehts WieGehts ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    130
    Hallo,
    ich kann es nicht lassen, ich muss mich da noch mal einmischen und wieder blöd fragen: hast du bei deinem Spiel eine Oberfläche = ein Bild, welches du in 900 Bereiche unterteilen willst um z. B. Spielfiguren zu platzieren oder hast du echt 900 verschiedene Bilder, die nur nebeneinander angezeigt werden sollen?
    Wenn die Spielfläche aus einem Bild besteht, welches für das Spiel auf 900 Bereiche aufgeteilt werden soll, gib das Bild als ganzes aus und ermittle auf Grund der x- und y-Koordinaten der auf dem Spielfeld befindlichen Figuren den Bereich in dem sich die Figur befindet.
    Hast du wirklich 900 verschiedene Bilder dann verzichte auf das Laden in eine Komponente. In diesem Fall ist es besser du verwendest die Eigenschaft Canvas deiner Zeichenfläche. Hier kannst du mit den Methoden Draw bzw. StretchDraw die 900 Bilder "aufmalen". Damit ersparst du dir sicher einiges an Resourcen. Schau mal in die Hilfe.

    Es ist nicht leicht, auf deine Frage die richtige Antwort zu geben. Deine ursprüngliche Frage war, wie man viele Bitmaps in eine Komponente laden kann. Du hast nicht einmal geschrieben ob alle sofort oder vom Programm abwechselnd oder ... angezeigt werden sollen. Es gibt gerade hier viele Antworten, die deine Frage richtig beantworten, aber dein Ziel nicht annähernd treffen.
    Je genauer einer der helfen will weiß, was der Antwortsuchende will, desto besser kann geholfen werden.
    Geändert von WieGehts (13.09.05 um 18:48 Uhr)
     

  12. #12
    der Daniel der Daniel ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    11
    Also, vop, dein Tipp klingt gut, nur ist es so, dass er leider nicht funktioniert. Selbst mit nur einem Bild in der Imagelist stürzt mein Rechner genauso ab wie vorher.

    So, jetzt erkläre ich noch mal, was ich machen will. Das Spiel hat natürlich eine Oberfläche mit ca. 900 Bereichen, die mit wenigen verschiedenen z.B. Landschaftstypen gefüllt werden, die aus einer Bild-Datei geladen werden.
    Das Problem, das ich damit hatte, ist, dass ich in der Illusion lebte, dass in eine Image-Komponente nur jeweils ein Bild geladen werden kann, was wohl aber nicht der Fall ist, wie mir dein Stichwort „Draw“ und die Delphi-Hilfe verraten hat.
    Das hättet ihr aber auch gleich sagen können!
    Aber mit dem Zauberwort „Draw“ klappt es, und das geht sogar viel schneller.
    So, erledigt. Vielen Dank für die Hilfe.
     

Ähnliche Themen

  1. Erstellung eines Bitmaps und Darstellung des Bitmaps in Dialog
    Von rainer82 im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 29.09.09, 16:53
  2. Zeichnen auf eine Komponente
    Von Justin Bailey im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 02.06.08, 18:43
  3. Mit Delphi eine Komponente für ASP schreiben
    Von Dhyani im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 25.01.05, 10:51
  4. Zeichnen auf eine SWING Komponente
    Von wako im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 30.06.04, 16:57
  5. für dreamweaver eine Netscape 6 komponente
    Von Thimo Grauerholz im Forum HTML-Editoren
    Antworten: 0
    Letzter Beitrag: 22.07.01, 15:58