将多种十六进制颜色转换为图像

Converting multiple hex color to image

是否有将十六进制颜色转换为图像并将其另存为 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

制作图像

输出应该 return 像这样:

真正的问题是没有将数据保存到您想要的文件中。

真正的问题是以 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

你可以这样做,但希望你的变量有更合理的名称并且你可以使用循环:

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