Farbe bildpunkte in transparenter Grafik

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

  • #16
    ey klasse !
    die erklärung für index liest sich absolut verständlich, sollte mal irgendwo festgehalten werden, nich nur in meinem thread hier !

    ich sehe beim exportieren auch immer so eine tabelle, aller im gif enthaltenen farben.. das wird dann wohl der gesamte index sein...

    so färbt man dann sicher auch gifs nach "farbtönen" um, wenn ich das gleich mal weiterdenken kann ?



    und alphakanal speichert transparenz direkt als farbton und nicht als index in einer tabelle ?

    Kommentar


    • #17
      Zitat von someRookie Beitrag anzeigen
      so färbt man dann sicher auch gifs nach "farbtönen" um, wenn ich das gleich mal weiterdenken kann ?
      Richtig, wenn du einen Farbwert in der Palette änderst, ändern sich dann alle Punkte, die im Bild auf diesen Index referenzieren.

      und alphakanal speichert transparenz direkt als farbton und nicht als index in einer tabelle ?
      GIF kann nur einfache Transparenz, voll durchsichtig oder voll undurchsichtig.

      Alphatransparenz hingegen geht von 0 (ganz durchsichtig) bis 255 (komplett undurchsichtig), stufenweise. Und ist auch nicht an Farbwerte in irgendeinem Index gebunden, sondern wird für jeden Bildpunkt separat abgelegt.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #18
        Zitat von wahsaga Beitrag anzeigen
        Alphatransparenz hingegen geht von 0 (ganz durchsichtig) bis 255 (komplett undurchsichtig), stufenweise.
        Auch wenn das im Allgemeinen für den Alphakanal so zutrifft, im Umgang mit den GD2-Funktionen in PHP muss man etwas umdenken: GD2 speichert tatsächlich die Transparenz und nicht die Opazität (Alphakanal) und das aber nur mit 7bit. Dadurch ist 0 in PHP opak und 127 ist transparent.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #19
          man man

          da denkt man farbe ist farbe... und wird überrascht von einer tiefen materie bei der es erstmal heisst.... wisse und lerne

          ich werd mir das hier mal ausrucken und ein paar mal lesen, damit das auch tiefer hängen bleibt !

          danke jedenfalls für diese wertvolle exkursion in farbe und php

          Kommentar


          • #20
            Zitat von AmicaNoctis Beitrag anzeigen
            ...
            imagecolorat liefert für indizierte Bilder nicht die Farbe zurück, sondern den Index. Den musst du nur mit $transIndex vergleichen.
            Hallo,

            ich hab nun mit imagecolortransprent() den index ermittelt, dieser ist in dem Bild 255.

            Das scipt läuft wie gewünscht, und zählt nun die Transparenten Pixel die sich in einem GIF befinden.
            .
            Dafür wollte ich Danke sagen!

            Hier der kleine Code-Schnipsel, falls mal jemand nach ähnlichem sucht!

            PHP-Code:
            $transparentPixel   0;
            $coloredPixel       0;
            $img          imagecreatefromgif 'images/pic.gif' ); 
            $transIndex   imagecolortransparent($img);// Ermittelt Index für Transparenz
            $w            imagesx($img);
            $h            imagesy($img);

            for (
            $y 0$y $h; ++$y
            {
              for (
            $x 0$x $w; ++$x
              { 
                 
            $argb  imagecolorat($img$x$y); 
              
                (
            $argb==$transIndex) ? $transparentPixel++:$coloredPixel++;// Vergleich Index jedes Pixel mit $transIndex
                
              
            }

            echo 
            "Alle Pixel: ".($transparentPixel+$coloredPixel)."<br>";
            echo 
            "Transparent Index: ".$transIndex."<br>";
            echo 
            "Transparente Pixel: ".$transparentPixel."<br>";
            echo 
            "Farbige Pixel: ".$coloredPixel."<br>"

            Kommentar


            • #21
              Hallo,

              darf ich dir noch einen Tipp mit auf den Weg geben? Wenn du diese Variable $argb nennst, wirst du ab in 4 Wochen denken, dass es wirklich eine TrueColor-Farbe mit Alphakanal ist, die dort zurück kommt. Bei GIF ist es aber wie gesagt nur der Index auf die Farbpalette, also wäre $index oder $idx der bessere Variablenname.

              Gruß,

              Amica
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #22
                Zitat von AmicaNoctis Beitrag anzeigen
                Hallo,

                darf ich dir noch einen Tipp mit auf den Weg geben? Wenn du diese Variable $argb nennst, wirst du ab in 4 Wochen denken, dass es wirklich eine TrueColor-Farbe mit Alphakanal ist, die dort zurück kommt. Bei GIF ist es aber wie gesagt nur der Index auf die Farbpalette, also wäre $index oder $idx der bessere Variablenname.

                Gruß,

                Amica

                Na klar !!! Dankeschön... das ist recht warscheinlich, wenn ich mich mehr damit beschäftige und nach ein para wochen da mal reinschaue

                ich werds gleich umbennen !

                Vielen Dank nochmals !

                Kommentar

                Lädt...
                X