Farbe bildpunkte in transparenter Grafik

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

  • #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 ?

    Comment


    • #17
      Originally posted by someRookie View Post
      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.

      Comment


      • #18
        Originally posted by wahsaga View Post
        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]

        Comment


        • #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

          Comment


          • #20
            Originally posted by AmicaNoctis View Post
            ...
            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>"

            Comment


            • #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]

              Comment


              • #22
                Originally posted by AmicaNoctis View Post
                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 !

                Comment

                Working...