Преобразование нескольких шестнадцатеричных цветов в изображение

есть ли функция, которая преобразует шестнадцатеричные цвета в изображение и сохраняет его как png?
образец :

   $pixelrow1 ["000000","000000","000000"];
   $pixelrow2 ["000000","FFFFFF","000000"];
   $pixelrow3 ["FF0000","00FF00","0000FF"];
   function convert_to_image($row1,$row2,$row3,$path_to_save) {
   // Some function
   }
   convert_to_image($pixelrow1,$pixelrow2,$pixelrow3,"c:/image.png");

Я действительно не знаю, возможно ли это или нет, но я уверен, что это возможно, потому что вы можете сделать изображение с помощью php

Выходные данные должны возвращаться следующим образом :Введите описание изображения здесь

2 ответа

  1. Реальная проблема заключается не в сохранении данных в файл, который вы хотите.

    Реальная проблема заключается в сохранении данных в формате png.

    Вы должны прочитать, как png сохраняет данные.

    Или вы можете немного поиграть с ресурсами изображений PHP.
    Возможно, этот фрагмент кода может дать вам некоторые советы:

    <?php
    header("Content-Type: image/png");
    $im = @imagecreate(1, 1);
    // Creates a 1x1 image resource
    
    $background_color = imagecolorallocate($im, 0xFF, 0x00, 0x00);
    // Adds a red background color to the only pixel in the image.
    
    imagepng($im);
    // Sends the image to the browser.
    
    imagedestroy($im);
    ?>
    

    Если вы хотите взглянуть на все функции для изображений:

    http://php.net/manual/en/ref.image.php

  2. Вы можете сделать это так, но, надеюсь, ваши переменные имеют более разумные имена, и вы можете использовать цикл:

    <?php
       $im    = imagecreate(3,3);
       $black = imagecolorallocate($im,0,0,0); 
       $white = imagecolorallocate($im,0xff,0xff,0xff); 
       $red   = imagecolorallocate($im,0xff,0,0); 
       $green = imagecolorallocate($im,0,0xff,0); 
       $blue  = imagecolorallocate($im,0,0,0xff); 
    
       # First row
       imagesetpixel($im,0,0,$black);
       imagesetpixel($im,1,0,$black);
       imagesetpixel($im,2,0,$black);
    
       # Second row
       imagesetpixel($im,0,0,$black);
       imagesetpixel($im,1,1,$white);
       imagesetpixel($im,2,1,$black);
    
       # Third row
       imagesetpixel($im,0,2,$red);
       imagesetpixel($im,1,2,$green);
       imagesetpixel($im,2,2,$blue);
    
       imagepng($im,"result.png");
    ?>
    

    Введите описание изображения здесь