Bilder wechseln

Startseite Foren Deutsches LiveCode-Forum Bilder wechseln

Ansicht von 8 Antwort-Themen
  • Autor
    Beiträge
    • #4047
      RehW
      Teilnehmer

        Hallo zusammen,

        ich versuche gerade ein Bild welches auf der Card „images“ liegt auf der Card „main“ anzuzeigen. Dazu habe ich das Bild unter „back“ auf der Card „images“ erstellt.
        Folgendes habe ich schon probiert:

        im Cardscript:
        ————–
        put image „back“ of card „images“ into image „hintergrund“ of card „main“
        Bild wird nicht kopiert, keine Fehlermeldung

        set the id of images „hintergrund“ of card „main“ to the id of images „back“ of card „images“
        Fehlermeldung : compilation error at line 2 (Chunk: missing chunk) near „images“, char 15

        copy image „back“ of card „images“ to image „hintergrund“ of card „main“
        Fehlermeldung : execution error at line 2 (Chunk: source is not a container), char 1

        set backgroundPattern of card „main“ to the id of image „back“ of card „images“
        Bild wird angezeit, aber Grösse stimmt nicht

        im Stackscript:
        —————
        put image „back“ of card „images“ into image „hintergrund“ of card „main“
        Bild wird nicht kopiert, keine Fehlermeldung

        set the id of images „hintergrund“ of card „main“ to the id of images „back“ of card „images“
        Fehlermeldung : compilation error at line 2 (Chunk: missing chunk) near „images“, char 15

        copy image „back“ of card „images“ to image „hintergrund“ of card „main“
        Fehlermeldung : execution error at line 2 (Chunk: source is not a container), char 1

        set backgroundPattern of card „main“ to the id of image „back“ of card „images“
        Bild wird angezeit, aber Grösse stimmt nicht

        Habe schon versucht etwas zu finden wie es möglich ist, aber nichts gefunden.

        Gruss Rene

      • #4051
        Klaus Major
        Administrator

          Hallo Rene,

          put image „back“ of card „images“ into image „hintergrund“ of card „main“
          Bild wird nicht kopiert, keine Fehlermeldung

          das ist die korrekte Syntax und sollte eigentlich funktionieren!?

          set the id of images „hintergrund“ of card „main“ to the id of images „back“ of card „images“
          Fehlermeldung : compilation error at line 2 (Chunk: missing chunk) near „images“, char 15

          Es dürfen keine zwei Objekte IDENTISCHE IDs besitzen, daher diese Fehlermeldung.
          Aber Du bist hier schon sehr nahe an der Lösung, siehe unten 🙂

          copy image „back“ of card „images“ to image „hintergrund“ of card „main“
          Fehlermeldung : execution error at line 2 (Chunk: source is not a container), char 1

          Wir können Objekte nur auf KARTEN oder STACKS kopieren.

          set backgroundPattern of card „main“ to the id of image „back“ of card „images“
          Bild wird angezeit, aber Grösse stimmt nicht

          Größe stimmte nicht? Dann musst Du das Ursprungsbild in der Größe ändern, bis es passt und das Bild „loclock“en.

          Optimal ist es, alle benötigten Bilder in der passenden Größe vorzubereiten und in LC zu verwenden.

          Kleiner Bilder vergrößen gibt sichtbaren Qualitätsverlust, größere Bilder zur Anzeige in LC verkleinern erhöht den Speicherbedarf und verringert somit die Performance.
          Nicht viel, aber es läppert sich.

          Mein Tip: Benutze BUTTONS zur Anzeige von Bildern! Mach ich seit Jahren! 🙂
          Ich importiere/referenziere alle benötigten Bild immer auf einer Karte in einem Substack und nutze dann nur Buttons im Mainstack, um die Bilder anzuzeigen.

          Einfach die ID des Bildes notieren, das Du mehrfach verwenden möchtest, dann einen Button erstellen, am besten „disabled“ soll ja niemand klicken, nur angucken, und sein ICON auf diese ID setzen. Ferig!

          Vorteil, so kännen wir ein und das selbe Bild X-mal im Stack verwenden, OHNE daß wir es irgendwohin kopieren müssen und ohne nennenswerten Overhead am RAM Verbrauch etc. gibt!

          Gruß

          Klaus

        • #4058
          RehW
          Teilnehmer

            Hallo Klaus,

            ich benutze schon Buttons für die Darstellung der Bilder. Ich wollte nur verschiedene Möglichkeiten probieren um LiveCode besser kennenzulernen. Danke für Deine Hilfe, habe so auch schon wieder etwas mehr gelernt.

            Gruss Rene

          • #4059
            Klaus Major
            Administrator

              Hallo Rene,

              OK, wollte nur sicher gehen!:-)


              put image X into image Y

              ist schon die richtige Syntax, keine Ahnung, was bei Dir schief gelaufen sein könnte.

              Gruß

              Klaus

            • #4064
              RehW
              Teilnehmer

                Hallo Klaus,

                habe es nochmal mit put image… probiert unter Version 8.1.8 und 8.1.9 rc2. Bei beiden Version wird kein Bild angezeigt, auch nicht wenn ich einen anderen Namen für die Cards oder Images nehme oder es in der Message Box eingebe. Habe auch schon versucht einen neuen Stack mit 2 Cards zu erstellen und 1 Image pro Card. Selbe Ergebnis, Bild wird nicht kopiert und keine Fehlermeldung. Kann nur noch mal versuchen LiveCode neu zu installieren, sonst wüsste ich auch nicht weiter.

                Gruss Rene

              • #4065
                Klaus Major
                Administrator

                  Was sagt denn THE RESULT?

                  put img X into img Y
                  answer the result

                  Vielleicht bringt das etwas Erhellendes…

                  Gerade hier getestet, klappt:

                  on mouseUp pMouseButton
                     put img 1 of cd 2 into img 1
                  end mouseUp

                  AAAAABER, sind Deine Bilder eventuell referenziert?
                  DANN musst Du:

                  set the filename of img Y to the filename of img X

                  😎

                • #4066
                  Klaus Major
                  Administrator

                    Das kannst Du per Skript überprüfen!
                    Wenn ein Bild referenziert ist, dann ist: the text of img Y = EMPTY

                  • #4067
                    RehW
                    Teilnehmer

                      Hallo Klaus,

                      mit set the filename… klappt es, The Result ist bei put image… und the text of… jeweils EMPTY. Das mit set the filename… hatte ich noch nicht probiert. Habe es im Dictionary zwar gefunden, dachte aber es funktioniert nur zum laden der Bilder. Und schon wieder etwas gelernt, vielen Dank Dir. Werde wohl in Zukunft auch mehr Buttons dafür benutzen.

                      Gruss Rene

                    • #4068
                      Klaus Major
                      Administrator

                        Hi Rene,

                        mit set the filename… klappt es

                        ich hatte es im Urin! 😀

                        The Result ist bei put image… und the text of… jeweils EMPTY.

                        Ist ja auch korrekt!

                        Da die Bilder in Sinne von Livecode keinen Inhalt haben (text of img x = empty!), hat LC da ja nicht gelogen und korrekt die leere Property des einen Bildes auf das andere übertragen.
                        Nur schade, daß wir das nicht sehen können! 😀

                        Gruß

                        Klaus

                    Ansicht von 8 Antwort-Themen
                    • Du musst angemeldet sein, um auf dieses Thema antworten zu können.