'; list($wdt, $hgt) = getimagesize($udirnameprebimg); if ($wdt > 0 && $hgt > 0) { $w=$wdt; $h=$hgt; if (file_exists($udirnameprebimg)) { $pjbit='data:image/' . str_replace('jpg','jpeg',strtolower(explode('.',$udirnameprebimg)[-1 + sizeof(explode('.',$udirnameprebimg))])) . ';base64,' . base64_encode(file_get_contents($udirnameprebimg)); } //echo $udirname . "1:" . $hgt; if ($pjbit != '') { if ($indef != '') { if ($prefix == '' && !$makeitsvg) { return $prefix . $pjbit . $suffix; } if (!$makeitsvg) { $inz="Z"; } } if ($prefix == '' && !$makeitsvg) { $pjbit="'),URL('" . $pjbit; } file_put_contents('xz00110.xz00110',''); } if ($makeitsvg) { $pjbit=''; } return $prefix . file_get_contents($udirname . "../inline_svg.php?asbackground=y" . $midbit . "&noXbase64=y&ima" . $inz . "ge=" . urlencode($udirnameprebimg) . "&width=" . (0 + $wdt) . "&height=" . (0 + $hgt) . "&insvg=" . str_replace('+','',urldecode($_GET['emoji']))) . $pjbit . $suffix; // . '),URL(' . $indef; } else { //echo "2:" . $hgt; file_put_contents('xz001110.xz001110',''); if ($makeitsvg) { $pjbit=''; } return $prefix . file_get_contents($udirname . "../inline_svg.php?asbackground=y" . $midbit . "&noXbase64=y&ima" . $inz . "ge=" . urlencode($udirnameprebimg) . "&insvg=" . str_replace('+','',urldecode($_GET['emoji']))) . $suffix; // . '),URL(' . $indef; } } else if (isset($_POST['emoji'])) { //file_put_contents('xz00.xz00',''); $poemoji=''; list($wdt, $hgt) = getimagesize($udirnameprebimg); if ($wdt > 0 && $hgt > 0) { $w=$wdt; $h=$hgt; if (file_exists($udirnameprebimg)) { $pjbit='data:image/' . str_replace('jpg','jpeg',strtolower(explode('.',$udirnameprebimg)[-1 + sizeof(explode('.',$udirnameprebimg))])) . ';base64,' . base64_encode(file_get_contents($udirnameprebimg)); } if ($pjbit != '') { if ($indef != '') { if ($prefix == '' && !$makeitsvg) { return $prefix . $pjbit . $suffix; } if (!$makeitsvg) { $inz="Z"; } } if ($prefix == '' && !$makeitsvg) { $pjbit="'),URL('" . $pjbit; } } if ($makeitsvg) { $pjbit=''; } return $prefix . file_get_contents($udirname . "../inline_svg.php?asbackground=y" . $midbit . "&noXbase64=y&ima" . $inz . "ge=" . urlencode($udirnameprebimg) . "&width=" . (0 + $wdt) . "&height=" . (0 + $hgt) . "&insvg=" . str_replace('+','',urldecode($_POST['emoji']))) . $pjbit . $suffix; // . '),URL(' . $indef; } else { if ($makeitsvg) { $pjbit=''; } return $prefix . file_get_contents($udirname . "../inline_svg.php?asbackground=y" . $midbit . "&noXbase64=y&ima" . $inz . "ge=" . urlencode($udirnameprebimg) . "&insvg=" . str_replace('+','',urldecode($_POST['emoji']))) . $suffix; // . '),URL(' . $indef; } //} else if (($indef == '' || $indef != '') && $prebimg != '') { } else if ($indef == '' && $prebimg != '') { //file_put_contents('xz0.xz0',''); //echo $udirname . $prebimg . ' ...'; //exit; list($wdt, $hgt) = getimagesize($udirnameprebimg); if ($wdt > 0 && $hgt > 0) { $w=$wdt; $h=$hgt; if (file_exists($udirnameprebimg)) { $pjbit='data:image/' . str_replace('jpg','jpeg',strtolower(explode('.',$udirnameprebimg)[-1 + sizeof(explode('.',$udirnameprebimg))])) . ';base64,' . base64_encode(file_get_contents($udirnameprebimg)); } //echo $udirname . "1:" . $hgt; //exit; if ($pjbit != '' && !$makeitsvg) { return $pjbit; } if ($makeitsvg) { $pjbit=''; } return $prefix . file_get_contents($udirname . "../inline_svg.php?asbackground=y" . $midbit . "&noXbase64=y&image=" . urlencode($udirnameprebimg) . "&width=" . (0 + $wdt) . "&height=" . (0 + $hgt)) . $suffix; // . "&insvg=" . str_replace('+','',urldecode($_GET['emoji']))); // . '),URL(' . $indef; //return $indef; } else { return $prefix . file_get_contents($udirname . "../inline_svg.php?asbackground=y" . $midbit . "&noXbase64=y&image=" . urlencode($udirnameprebimg)) . $suffix; // . "&insvg=" . str_replace('+','',urldecode($_GET['emoji']))) . '),URL(' . $indef; } } else if ($indef != '' && $prebimg != '') { //file_put_contents('xz1.xz1',''); list($wdt, $hgt) = getimagesize($udirnameprebimg); if ($wdt > 0 && $hgt > 0) { $w=$wdt; $h=$hgt; if (file_exists($udirnameprebimg)) { $pjbit='data:image/' . str_replace('jpg','jpeg',strtolower(explode('.',$udirnameprebimg)[-1 + sizeof(explode('.',$udirnameprebimg))])) . ';base64,' . base64_encode(file_get_contents($udirnameprebimg)); } //echo $udirname . "1:" . $hgt; //exit; if ($pjbit != '') { return $pjbit; } return $indef; //file_get_contents($udirname . "../inline_svg.php?asbackground=y&noXbase64=y&image=" . urlencode($udirnameprebimg) . "&width=" . (0 + $wdt) . "&height=" . (0 + $hgt)); // . "&insvg=" . str_replace('+','',urldecode($_GET['emoji']))); // . '),URL(' . $indef; } else { return $indef; //file_get_contents($udirname . "../inline_svg.php?asbackground=y&noXbase64=y&image=" . urlencode($udirnameprebimg)); // . "&insvg=" . str_replace('+','',urldecode($_GET['emoji']))) . '),URL(' . $indef; } } else { //file_put_contents('xz00000.xz00000',''); return $indef; } } function maybedef($inzdef) { return backg($inzdef); } ?>

Emoji Borders and Backgrounds in Canvas

RJM Programming - January, 2022

Thanks to html - Drawing an SVG file on a HTML5 canvas - Stack Overflow

SVG ") !== false) { echo '', $mb)[0])[1] . ''; } else if (str_replace("'","",$mb) != '') { echo ''; } //echo '
'; ?>

Image

Canvas