Есть ли функция, которая будет преобразовывать шестнадцатеричные цвета в изображение и сохранять его как 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
Вы можете сделать это следующим образом, но, надеюсь, ваши переменные имеют более разумные имена, и вы можете использовать цикл:
<?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");
?>
Настоящая проблема не в сохранении данных в нужный файл.
Настоящая проблема — сохранение данных в формате 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);
?>
Если вы хотите взглянуть на все функции для изображений: