RGB Wert eines Bildpixels

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

  • RGB Wert eines Bildpixels

    Hoi,
    wie kann ich bei nem Bild den RGB oder Hexdezimal Wert eines bestimmten Pixels auslesen?
    Also z.b. sowas: imagegetcolor("bild.jpg",30,100); (gibts jetzt natürlich net, is nurn Beispiel).
    Mit imagecolorat bekommt man ja nur die depperte Farb ID, aber net den RGB Wert.
    Oder kann ich irgendwie anhand der Farb ID den RGB Wert rausfinden?

    Vielen Dank im voraus!

    MfG

  • #2
    array imagecolorsforindex ( int im, int index) gibt dir nen array mit den rgb-werten zurück.
    eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

    Kommentar


    • #3
      edit:
      mist nur zweiter

      editedit:
      [ausformuliert]
      PHP-Code:
      fucntion getRGBColor($pic,$x,$y)
      {
        return 
      imagecolorsforindex($picimagecolorat($pic$x$y));

      musst einfach den index-wert von imagecolorat als parameter übergeben
      [/ausformuliert]
      Zuletzt geändert von mrhappiness; 04.11.2002, 16:38.
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Als Rückgabewert von getRGBColor() bekomme ich dann den HexWert?

        Sprich, ich könnte ein Bild hochladen, eine Schleife bauen und dann zu jedem Pixel den HexWert auslesen?

        Kommentar


        • #5
          Du bekommst ein array mit 3 elementen, das die werte für rosa, gelbgrün und bunt enthält
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Hoi,
            erstmal danke für eure Antworten.

            @mrhapiness: Was machtn das return? Weil ich weiss net in welcher Variable das Array gespeichert is.

            MfG

            Kommentar


            • #7
              rosa, gelbgrün und bunt?

              rosa und gelbgrün kann ja interpretation sein, aber was ist denn bitte bunt? Meintest hoffentlich blau (cyan), oder?

              Kommentar


              • #8
                @gwc:

                array = getRGBColor(DEINEWERTE);

                Kommentar


                • #9
                  Hm, irgendwie peil ich das net.
                  Also wenn ich z.B. das erste Array Objekt haben will, muss ich dann das hier eingeben?

                  PHP-Code:
                  echo getRGBcolor[0]; 
                  ?

                  Sorry, wenn ich mich da jetzt etwas blöd anstell, aber Funktionen sind net so meins :\

                  Kommentar


                  • #10
                    @GWC
                    PHP-Code:
                    function sub($x,$)
                    { return 
                    $x-$y; }

                    echo 
                    "5 - 3 ist: ".sub(5,3)"; 
                    Das liefert
                    Code:
                    5 - 3 ist: 2
                    außer ich hätt mich verrechnet.
                    bei dem getRGBColor is es genauso, nur das halt ein array zurückgeliefert wird (ähnlich wie bei mysql_fetch_array)

                    @TobiaZ
                    nein, ich meinte nicht blau, das is nämlich ein zustand
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Hoi,
                      ich bekomm jetzt als Ergebnis von

                      PHP-Code:
                      echo getRGBColor($bild,$x,$y); 
                      nur Array.

                      Mach ich aber jetzt

                      PHP-Code:
                      echo getRGBColor($bild,$x,$y)[0]; 
                      Gibts nen Parse error.
                      Wie erhalt ich die einzelnen Objekte vom Array?

                      MfG

                      Kommentar


                      • #12
                        nimmst du so:

                        $arr = getRGBColor($bild,$x,$y);
                        echo "rosa: $arr[0] - gg: $arr[1] - bunt(?): $arr[2]";

                        Kommentar


                        • #13
                          mach das also jetzt rein theoretisch. Hab da also kein Script hinter, sondern bin nur interessiert.

                          wie bekomme ich denn aus rosa, gg, bunt einen wert, denn ich verwenden kann. Also muss mal das doch irgendwie zu nem Hex, oder was weiß ich für nen Wert verändern lassen.

                          Kommentar


                          • #14
                            Hm, nochmal ne Frage.
                            Wo muss das
                            PHP-Code:
                            $arr getrgbcolor($bild,$i,$a); 
                            hin?

                            In die Funktion rein? Wenn ja, wie mache ich das $arr dann außerhalb der Funktion verfügbar?
                            Weil irgendwie bekomm ich mit $arr innerhalb und außerhalb der Funktion kein Ergebnis

                            Kommentar


                            • #15
                              PHP-Code:
                              function getRGBColor($pic,$x,$y)
                              {
                                return 
                              imagecolorsforindex($picimagecolorat($pic$x$y));
                              }

                              $bild=imagecreatefromjpeg("images/schraube.jpg");
                              $arr=getRGBColor($bild,2,5);
                              echo 
                              "<table><tr><td>&nbsp</td><td>Rosa</td><td>Gelbgr&uuml;n</td><td>Bunt</td></tr>";
                              echo 
                              "<tr><td>dec</td><td>$arr[red]</td><td>$arr[green]</td><td>$arr[blue]</td></tr>";
                              echo 
                              "<tr><td>hex</td><td>".dechex($arr[red])."</td><td>".dechex($arr[green])."</td><td>".dechex($arr[blue])."</td></tr>";
                              echo 
                              "<table>"
                              zugriff auf die rgb-werte mit $arr[red], $arr[green], $arr[blue]
                              umwandeln in hex: dechex(zahl)

                              hth
                              Zuletzt geändert von mrhappiness; 04.11.2002, 17:33.
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X