Announcement

Collapse
No announcement yet.

Dynamisches erstellen von VCL im Speicher

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dynamisches erstellen von VCL im Speicher

    Hallo zusammen,
    für die Firma brauchen wir ein spezielles Programm, mit dem man sich eine große Anzahl von Grafiken in Vorschaubildern ansehen kann.
    Das habe ich auch soweit realisiert.
    Dazu werden dynamisch TImages erstellt und die Grafiken dort eingebunden.
    Das funzt auch.
    ABER... es sind sehr oft mehr als 1000 Bilder.
    Das dauret ewig, bis alles fertig ist.
    Ich habe immer eine CPU-auslastung von 99%.
    Wie kann ich es schneller machen bzw. das alles im Speicher realisieren.
    Kann mir jemand einnen Tip geben und evtl. ein kleines Demo.
    Bis wirkliche jetzt schon dankbar.
    Ich muss das Ding nächste Woche stehen haben.

    Vielen Dank im Voraus
    John

  • #2
    Hallo,<br>so wie ich das verstanden habe, lädtst du das original Bild in Originalgröße in ein jeweiliges TImage. Das würde bedeuten, dass du dann zwar nur ein Vorschaubild siehst (wahrscheinlich stretch:=true) aber im Speicher das gesammte Bild mitführst. Lade doch das Bild in ein TImage und überführe dann nur die Größe welche du benötigst mit stretchdraw in deine Vorschau. Also ein TImage zum Laden, von diesem mit Strechdraw (oder Stretchblt) in deine Vorschaubilder, zwischendrin ein application.processmessages, damit Windows sich noch bewegt<br>Du musst dir nur noch Gedanken über die Berrechnung der Bildgrössen machen, da ja wahrscheinlich die Originalbilder nicht alle das gleiche Format haben. Hier musst du entsprechend deiner Vorschaubilder die Originalabmessungen umrechnen und in Stretchdraw eintragen.<br> ;-)<br>Michae

    Comment


    • #3
      Hallo,

      danke für die schnelle Antwort, aber das mit den grössen ect. ist nicht das Problem.

      Vielleicht sollte ich allgemeiner fragen:
      Wie kann ich mehr im speicher arbeiten und die CPU nicht oder weniger belasten)?

      Ich hoffe, dass mir jemand helfen kann.

      thx.
      Joh

      Comment


      • #4
        Hi John,<br>*lol*, du kannst nur mit der CPU im Speicher arbeiten...<br>Wenn die Bilder weitestgehend sich nicht ändern, kannst du die Thumbnails ja auf der Festplatte abspeichern, sodass du nur neue Thumbs erzeugen musst und ansonsten lediglich die vorhandenen in deine Images einladen musst.<br>Die CPU hat nun mal zu tun, um große Bilder in kleine zu konvertieren und genau das solltest du, soweit möglich vermeiden, häufig zu tun!<br>cu Michae

        Comment


        • #5
          Da ja wohl niemand alle 1000 Bilder auf einmal sehen muss/kann sollte man auch überlegen, das Anzeigen und das Erzeugen der Vorschaubilder zu trennen und in 2 verschiedenen Threats abzuarbeiten. Es müssten dann immer nur die Bilder zur Verfügung stehen, die auch wirklich sichtbar sind und der 2. Thread könnte sich schonmal darum kümmern, neue Bilder vorzubereiten so wie Michael das vorgeschlagen hat. <BR>
          PM

          Comment


          • #6
            Das klingt gut...

            Aber... ich habe leider keine Ahnung, wie ich das auf die schnell hinbekomme.
            Ich wäre für ein kleines Demo sehr dankbar

            thx.
            Joh

            Comment


            • #7
              Hi John<br>DU hast doch die Projektanforderungen und sitzt in eurer Firma als Programmierer :-)<br>Wie soll denn jemand aus diesem Forum das "schnell" für dich lösen können?<br>Auf die Schnelle könntest Du aber den <a href="http://www.chip.de/downloads/c_downloads_8833780.html" target=_NEW>Vallen JPegger 4.60 Deutsch</a> (totaly for free!) einsetzen.<br>cu Michae

              Comment

              Working...
              X