【发布时间】:2022-01-11 04:10:09
【问题描述】:
我正在尝试使用 html 和 javascript 制作一个非常简单的面部图像生成器,用户可以在其中选中一些复选框并向其中添加部分面部。复选框在一个表单中,我希望用户能够在点击提交按钮时下载他们创建的 png/jpg 图像。 (或者让它自动下载,没关系)。我尝试搜索它,但除了我不允许使用的 html2canvas 之外,我真的找不到任何东西。
这是 html 代码(可重现的最小版本):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body id="pageBody">
<form action="" id="form">
<label for="body">Body</label><input type="checkbox" name="body" id="body">
<label for="eyes">Eyes</label><input type="checkbox" name="eyes" id="eyes">
<label for="nose">Nose</label><input type="checkbox" name="nose" id="nose">
<label for="mouth">Mouth</label><input type="checkbox" name="mouth" id="mouth">
<label for="hat">Hat</label><input type="checkbox" name="hat" id="hat">
<input type="submit" value="submit">
</form>
<br>
<div id="pic">
<img id="bodyImg" src="imgs/body.png"/>
<img id="eyesImg" src="imgs/eyes.png"/>
<img id="mouthImg" src="imgs/mouth.png"/>
<img id="noseImg" src="imgs/nose.png"/>
<img id="hatImg" src="imgs/hat.png"/>
</div>
</body>
</html>
有什么建议吗?
【问题讨论】:
-
有供用户选择图像的输入类型文件。 -> developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file
-
@Keith 感谢您的评论!不幸的是,这不是我想要的,我希望用户能够获得“图片”div,而不是上传文件
-
哦,对了,我想我知道你现在要做什么了。我建议你将图像制作为 svg,然后你可以返回 svg,或者甚至将 svg 转换为 png/jpg。
-
@Keith 我必须对图像的某些部分(眼睛、鼻子等)使用 png 图像。我可以将其转换为下垂吗?
-
是的,您可以使用图像标签 developer.mozilla.org/en-US/docs/Web/SVG/Element/image 将图像渲染为 svg,然后如果您希望用户能够下载 png 或 jpeg,则可以将 svg 渲染到画布。如果您希望用户下载 svg,您还需要使用 data-uri 使图像内联..
标签: javascript html forms image