[GD] Tranzparenz bei Imagecreatetruecolor

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [GD] Tranzparenz bei Imagecreatetruecolor

    Hallo,

    Ich arbeite seit ein paar Wochen mit GD2 und dabei bin ich auf folgendes Problem gestossen:

    Wenn ich mit Imagecreatetruecolor ein Bild erstelle ist es standartmässig schwarz.
    Wie schaffe ich es das Bild, das die Basis und den Hintergrund für meine weiteren Bearbeitungen darstellt, transparent erscheinen zu lassen ohne eine der anderen Farben zur transparenten Farbe zu erklären.
    Denn in dem Fall werden alle Stellen der anderen Bilder, die auch die Farbe haben, auch transparent...

    Vielen Dank im voraus und ein frohes Fest an Alle

    Gruß
    Iondor

  • #2
    Mmhh... Verstehe die Frage nicht ganz. Wenn Du ein Truecolor-PNG mit Transparenz einbindest, wird dieses automatisch auch mit Transparenzen behandelt. Hilft Dir das weiter?

    Kommentar


    • #3
      Wie schaffe ich es das Bild, das die Basis und den Hintergrund für meine weiteren Bearbeitungen darstellt, transparent erscheinen zu lassen ohne eine der anderen Farben zur transparenten Farbe zu erklären.
      afaik geht das nicht. eine farbe musst du schon opfern. meines wissens nimmt man eben darum immer grelle neonfarben - giftgrün oder lila, weil die eben selten vorkommen. wenn aber die bilder, die du erstellst, auch diese farben beinhalten können, ließe sich (nicht sonderlich effizient) das bild jedes mal aufs neue analysieren, sodass immer eine farbe gefunden werden kann, die speziell in diesem einen bild nicht vorkommt und somit für die transparenz genommen werden kann.

      Kommentar


      • #4
        Also bei mir funktioniert das folgendermaßen:

        1. Transparentes PNG öffnen
        2. Darin Operationen durchführen
        3. Wieder als PNG (natürlich unter einem anderen Namen) speichern. Et voilá! Schon hat man ein transparentes Bild.

        Oder steh ich auf dem Schlauch?

        Kommentar


        • #5
          Nicht wirklich...

          ich versuch es nochmal zu erklären:

          der Benutzer gibt 2 Zahlen an, Höhe und Breite.

          Mit der Funktion Imagecreatetruecolor erstelle ich nun ein Bild mit diesen Massen.
          Das Bild ist praktisch meine Basis.
          Auf dieses Bild kopiere ich anschliessend andere Bilder die einen transparenten Hintergrund haben.

          Das Problem ist nun, wenn mit Imagecreatetruecolor ein Bild erstellt wird ist das Bild schwarz.
          Gibt es eine Möglichkeit das Bild Transparent zu machen ohne die Farbe schwarz (oder eine andere) zur transparenten Farbe zu erklären?

          Wenn ich nämlich Schwarz mit der Funktion imagecolortransparent zur transparenten Farbe erkläre wird jedes Bild, das ich auf meine Basis kopiere, überall dort, wo es schwarz war auch transparent.

          Wenn ich beispielsweise schwarzweiße Schrift auf einer grünen Seite zeigen möchte habe ich danach weiß-grüne Schrift auf einer grünen Seite...

          Kommentar


          • #6
            Danke penizillin für die Antwort, das löst zwar nicht mein Problem, aber vielleicht kann ich es umgehen..

            Dazu eine weitere Frage:

            Wie ermittel ich welche Farben in einem Bild vorhanden sind?

            Kommentar


            • #7
              ...

              EDIT: war quark.

              Kommentar


              • #8
                Original geschrieben von pekka
                [...] Oder steh ich auf dem Schlauch?
                nein, da stehe ich schon...

                ich denke, pekkas antwort ist richtig im bezug auf bereits angelegte png-bilder. ich kenne mich mit gd auch nicht richtig aus, dachte aber, dass es beim anlegen eines _neuen_ bildes so sein muss.

                was sind das für bilder (vom inhalt her)?

                Kommentar


                • #9
                  richtig, pekkas Antwort ist korrekt wenn es um bestehende Bilder geht und penizillins Antwort ist genau das was ich nicht hören wollte, allerdings wohl die einzige mögliche Antwort auf meine Frage ist...

                  Es geht darum daß ich meinen Benutzern die Möglichkeit geben will Banner zu kreieren.
                  Ich gebe ihnen Logos, Hintergrundbilder und Schriftformate vor.
                  Die Schriftformate sind, da sie mehrfarbig sind, Bilder, wobei jedes Zeichen ein separates Bild ist.

                  Ich erstelle also unter anderem eine Grundform mit den nötigen Ausmassen damit der eingegebene Text drauf passt und kopiere dort alle Buchstabenbilder drauf.
                  Diese Grundform mit den Buchstaben kopiere ich dann auf die Bannergrundform, deshalb muß sie auch Transparent sein, weil sie sonst Teile vom Banner überdeckt

                  Kommentar


                  • #10
                    Ich habe es jetzt anders gelöst. So habe ich keine Probleme mehr mit Transparenzen und dergleichen.

                    Danke für eure Hilfe

                    Gruß
                    Iondor

                    Kommentar


                    • #11
                      Hm. Wenn Du ImageMagick auf dem Webspace hast und im Umgang damit bewandert bist, kannst Du dir auch von dem ein transparentes Bild generieren lassen und das dann weiterverarbeiten. Ist aber wahrscheinlich mehr Act als die von Dir skizzierte Lösung.

                      Kommentar

                      Lädt...
                      X