0

わかった。私のスクリプトでは、base64 で JavaScript を介して画像をアップロードできます。1つのことを除いて、すべてがうまくいきます。画像はピンク (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.

必要に応じて、詳細をお気軽にお尋ねください。

4

0 に答える 0