Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Czytanie kolorow pixeli z obrazka
rossco
post 3.04.2007, 13:16:35
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 17.02.2007

Ostrzeżenie: (0%)
-----


Witam wszystkich

Napisalem kawalek kodu ktory zczytuje wszystkie kolory z obrazka i drukuje je na stronie w postaci tablicy z kolorami RGB. Chcial bym zeby mozna bylo kolory indexow zapisywac do pliku i okreslac jaki kolor w danym obrazku przewaza.
Z gory dzieki za pomoc

Pozdrawiam
  1. <?php
  2.  
  3.  
  4. $im = imagecreatefrompng('im2.png');
  5.  
  6.  
  7. $szerokosc=imagesx($im);
  8. $wysokosc=imagesy($im);
  9. for ($sze=1; $sze<=$szerokosc; $sze++) {
  10.  for ($wys=1; $wys<=$wysokosc; $wys++) {
  11. $color_index = imagecolorat($im, $szer, $wys);
  12.  
  13.  
  14. $color_tran = imagecolorsforindex($im, $color_index);
  15.  
  16.  
  17. print_r($color_tran);
  18. }
  19.  
  20. }
  21. ?>



-------------------------
uprasza się o poprawne
używanie BBCode
tym razem poprawiłem
~Cienki1980
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
crash
post 4.04.2007, 08:53:45
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Chwila nudy i niezbyt wymagającego myślenia:
  1. <?php
  2.  
  3. $img = imagecreatefromjpeg( './img.jpg' );
  4.  
  5. $sX = imagesx( $img );
  6. $sY = imagesy( $img );
  7.  
  8. $colors = array();
  9.  
  10. for( $x = 1; $x <= $sX; $x++ )
  11. {
  12.  for( $y = 1; $y <= $sY; $y++ )
  13.  {
  14. $color = imagecolorat( $img, $x, $y );
  15.  
  16. if( array_key_exists( (int)$color, $colors ) )
  17. {
  18.  $colors[ $color ]++;
  19. }
  20. else
  21. {
  22.  $colors[ $color ] = 1;
  23. }
  24.  }
  25. }
  26.  
  27. arsort( $colors );
  28.  
  29. $colorsCount = count( $colors );
  30.  
  31. foreach( array_slice( $colors, 0, 10, true ) as $colorIdx => $count )
  32. {
  33.  $color = imagecolorsforindex( $img, $colorIdx );
  34.  
  35.  echo '<span style="color: rgb(' . $color[ 'red' ] . ',' . $color[ 'green' ] . ',' . $color[ 'blue' ] . ');"><b>&bull;</b> ' . $colorIdx . ': ' . $count . ' razy (' . round( $count / $colorsCount * 100, 2 ) . '%)</li><br/>';
  36. }
  37.  
  38. imagedestroy( $img );
  39.  
  40. ?>


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:40