Интересные уведомления о проблемах в php imagecolorallocate. Я застрял и нуждаюсь в ценных предложениях - PullRequest
1 голос
/ 06 декабря 2010

Вот два куска кода. Сначала я пытаюсь выделить цвет для изображения и сохранить изображение

<?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);

      ?>

Во второй части я читаю сохраненное изображение и распечатываю выделенный цвет.

    <?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;


    ?>

Он печатает: выделенный цвет: r = 143 г = 199 б = 13 Следовательно, выделенный цвет полностью отличается от того, который я хотел. Теперь, как мне справиться с этим. Любые предложения, пожалуйста.

...