gpt4 book ai didi

php - 通过电子邮件发送在 HTML5 canvas 上创建的图像

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:26 29 4
gpt4 key购买 nike

我有一个 Canvas ,用户可以通过交互来更改设计。现在,在用户完成更改后,他可以提交他的设计以及他的电子邮件 ID。但是为了提交设计,我正在使用 http://www.nihilogic.dk/labs/canvas2image/ 将 Canvas 转换为图像。

现在我想将这张图片连同用户的电子邮件 ID 一起发送。我如何直接发送此图像而不让用户将其保存在他的本地系统上。

最佳答案

我认为您需要一些 javascript 魔法,并且因为您已经在使用 HTML5 canvas,所以这应该不是问题。

因此,提交按钮上的 onclick 事件将向您的后端 php 邮件程序脚本发出 ajax 请求。

var strDataURI = oCanvas.toDataURL();  
// returns "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt..."

您只需将 strDataURI 作为参数传递。现在,我认为你还应该将这些保存在你的数据库中,这样电子邮件中就可以只包含这个图像标签:

<img src="http://www.yourdomain.com/generate_image.php?id=2" alt="Design #2" />

并且 generate_image.php 脚本会做这样的事情

<?php

header('Cache-control: max-age=2592000');
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 2592000));

// connect to db here ..
// $id = (int)$_GET['id']; "SELECT youtable WHERE id = '{$id}'"
// and the $image variable should contain "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt..."

list($settings, $encoded_string) = explode(',', $image);
list($img_type, $encoding_method) = explode(';', substr($settings, 5))

header("Content-type: {$img_type}");

if($encoding_method == 'base64')
die(base64_decode($encoded_string)); // stop script execution and print out the image

else { // use another decoding method
}

关于php - 通过电子邮件发送在 HTML5 canvas 上创建的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6150880/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com