Farbe bildpunkte in transparenter Grafik

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

  • AmicaNoctis
    antwortet
    Zitat von fireweasel Beitrag anzeigen
    Code:
        $argb = [B][COLOR="Red"]$[/COLOR][/B]imageColorAt($img, $x, $y); // true-colour RGB + alpha
    Dort muss natürlich das Dollarzeichen weg.

    Einen Kommentar schreiben:


  • someRookie
    antwortet
    Zitat von AmicaNoctis Beitrag anzeigen
    Mit einer Schleife für y und darin einer weiteren Schleife für x.

    auweia ja !

    Dankeschön !

    Einen Kommentar schreiben:


  • fireweasel
    antwortet
    Zitat von someRookie Beitrag anzeigen
    Ich weiß zwar noch nicht, wie ich zeilenweise ein Bild abtaste, aber da wird mir ja google vielleicht behiflich sein können.
    Jaja, heutzutage geht ohne Google anscheinend nichts mehr ...

    Aber wenns gut funktioniert könnte ich alle transparenten pixel zählen ...
    PHP-Code:
    $w ImageSX($img);
    $h ImageSY($img);
    for (
    $y 0$y $h; ++$y) {
      for (
    $x 0$x $w; ++$x) {
        
    //nur fuer TrueColour-Images!
        
    $argb imageColorAt($img$x$y); // true-colour RGB + alpha
        
    $rgb 0xffffff $argb// true-colour RGB
        
    $alpha = (0xff000000 $argb) >> 24;
        
    $alpha = ($alpha <= 127) ? $alpha 0;
        
    // alle Pixel mit $alpha !== 0 sind transparent

        // ...
        // zählen
        // ...
      
    }

    Wie du siehst, geht das ganz einfach. Leider ist diese Methode auch nicht gerade besonders schnell.

    Der Rest ist Prozentrechnung ...
    Zuletzt geändert von fireweasel; 02.10.2009, 12:22.

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von someRookie Beitrag anzeigen
    Ich weiß zwar noch nicht, wie ich zeilenweise ein Bild abtaste
    Mit einer Schleife für y und darin einer weiteren Schleife für x.

    Einen Kommentar schreiben:


  • someRookie
    antwortet
    Hallo Amica,

    dieser Vorschlag liest sich ja schon mal total klasse.
    Ich weiß zwar noch nicht, wie ich zeilenweise ein Bild abtaste, aber da wird mir ja google vielleicht behiflich sein können.

    imagecolorat hab ich mir aber sofort durchgelesen und das arbeitet ja genau wie gewünscht, tastet pixel ab und nennt mir den farbwert.
    also probiert ich erst mal aus, was mir imagecolorat für ein wert ausgibt, wenn er auf ein transparentes pixel trifft... hoffentlich nicht den wert für weiss, denn das gehört mit zu den farbigen pixel.

    Aber wenns gut funktioniert könnte ich alle transparenten pixel zählen und zu der anzahl aller pixel im bild ins Verhältnis setzen und erhalte dann ein prozentwert... oh wäre das super.

    Danke schonmal für diesen anschubser !

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Hallo Rene,

    dazu muss man das Bild zeilenweise abtasten und mit imagecolorat die Pixelfarbe bzw. den Paletteneintrag ermitteln.

    Gruß,

    Amica

    Einen Kommentar schreiben:


  • someRookie
    hat ein Thema erstellt Farbe bildpunkte in transparenter Grafik.

    Farbe bildpunkte in transparenter Grafik

    hi ihr,

    bin neu hier und hoffe auch gleich mal eine frage stellen zu dürfen ?

    Gibt es die möglichkeit jegliche farbigen Bildpunkte innerhalb einer transparenten Grafik zu bestimmten ?

    Egal in welcher Einheit, also z.B Pixelanzahl oder Prozentangabe ?

    oder hat jemand eventuell eine Idee wie ich sowas releasieren könnte?

    Gruss
    Rene
Lädt...
X