最終更新日:2019年12月23日 14時27分閲覧回数:145

【PHP】imagepng にテキストを埋め込む

ソース <?php
function tEXt($key$val='')
{
    
$str $key"\0"$val;
    return 
pack('N'strlen($str)). 'tEXt'$strpack('N'crc32('tEXt'$str));
}

ob_start();
$im imagecreate(1010);
imagecolorallocate($imrand(0127), rand(0127), rand(50127));
$cl imagecolorallocate($imrand(128255), rand(128255), rand(128255));
imagechar($im5rand(02), -3$a chr(65 rand(025)), $cl);
$imt imagecreatetruecolor($w=100$h=100);
imagecopyresampled($imt$im00001001001010);
imagepng($imt);
$src ob_get_clean();

$text tEXt('alt'$a). tEXt('height'$h). tEXt('width'$w);

$iend hex2bin('0000000049454e44ae426082');
$src str_replace($iend$text$iend$src);

imagedestroy($im);
?>
<img src="data:image/png;base64,<?=base64_encode($src)?>" alt="<?=$a?>" height="<?=$h?>" width="<?=$w?>">
出力 Y 確認 identify -verbose *.png スクリンショット