İlginç bir sorun php imagecolorallocate içinde fark eder.

0 Cevap php

İşte iki kod parçalarıdır. Önce görüntüye bir renk tahsis ve görüntüyü kaydetmeye çalışın

<?php $im = @imagecreatetruecolor(200, 200)
  or die('Cannot Initialize new GD image stream'); 
  $color = imagecolorallocate($im, 143, 198, 269);
  {
    for ($j=0; $j<200; $j++)
    {       

    imagesetpixel ($im, $i, $j, $color);

    }

     }              

     $filename = 'test.png';

     imagepng($im, $filename);

      ?>

İkinci parça I kaydedilen görüntü okumak ve tahsis rengini yazdırabilirsiniz.

    <?php

    $filename = 'test.png';

    $im = imagecreatefrompng($filename);

    $rgb = imagecolorat($im, 1, 1);
    $r = ($rgb >> 16) & 0xFF;
    $g = ($rgb >> 8) & 0xFF;
    $b = $rgb & 0xFF;

    echo "allocated color: r =".$r."g =".$g."b =".$b;


    ?>

It prints : allocated color: r =143 g =199 b =13 Hence the allocated color is completely different from the one which I wanted. Now How do I deal with this. Any suggestions please.

0 Cevap