好的。我的脚本允许人们通过 JavaScript 在 base64 中上传图像。一切都很顺利,除了一件事。图像可以有粉红色 (255,0,255) 粉红色背景。该粉红色背景应转换为透明(在插入数据库之前)。但是当我将它保存在我的数据库中(在 base64 中)时,背景仍然是粉红色的。
$tile 是图像的 base64(显然)。
function imagetobase64 ($img)
{
if (!is_resource($img))
return "";
ob_start();
imagepng($img);
$content = ob_get_contents();
ob_end_clean();
return base64_encode($content);
}
$tile = str_replace(' ', '+', $tile); // Because spaces in the JavaScript should be + in PHP
$img = imagecreatefromstring(base64_decode($tile));
imagesavealpha($img, true);
$pink = imagecolorallocate($img, 255, 0, 255);
imagecolortransparent($img, $pink);
$tile = imagetobase64($img);
imagedestroy($img);
// Here the query etc.
如果需要,请随时询问更多详细信息。