将画布另存为jpg到桌面
Save canvas as jpg to desktop
我正在尝试从HTML5canvas将图像(JPEG)保存到桌面。我可以在新窗口window.open(canvas.toDataURL('png'), "");
中打开,但如何将其保存到桌面?谢谢
下载属性
HTML5中有一个新的下载属性,允许您为链接指定文件名。
我做这个是为了保存画布。它有一个链接("下载为图像")-
<a id="downloadLnk" download="YourFileName.jpg">Download as image</a>
和功能:
function download() {
var dt = canvas.toDataURL('image/jpeg');
this.href = dt;
};
downloadLnk.addEventListener('click', download, false);
您甚至可以通过设置属性downloadLnk.download = 'myFilename.jpg'
来动态更改文件名。
存档中的演示。
如果有帮助的话,请检查一下,一个jsfiddle实现了相同的需求。http://jsfiddle.net/5whKM/
<img src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7"/>
<script>
var img = document.images[0];
img.onclick = function() {
var url = img.src.replace(/^data:image'/[^;]/, 'data:application/octet-stream');
location.href = url;
};
</script>
在这种情况下,您应该做的是将用户window.location=canvas.toDataURL('png')
发送到您希望他们"下载"的文件的位置。因此,打开新窗口的解决方案是你应该做的,也是"下载"的含义
例如,如果你想让他们为一个文件保存EXE,你只需要让他们点击一个锚,浏览器就会处理请求文件和下载文件的过程。你也可以用JavaScript来做这件事,但只为用户弹出SaveAs是一个安全和用户体验问题。
还可以看看:浏览器/HTML强制从src="下载图像;数据:图像/jpeg;base64…";
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- YouTube作为弹出窗口在桌面版本上播放,但不在移动设备上播放
- 如何在plnkr.co上显示桌面上的图像
- 如何使用javascript检测触摸设备浏览器与桌面
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- 展开移动设备上的折叠菜单,同时在桌面上保持悬停
- 将桌面上的悬停导航栏转换为触摸屏上的可点击导航栏
- 加载collada纹理数据(.jpg本身)时对其进行操作
- 无法在Cordova 4.0 ios中将jpg/jpeg图像转换为Base64
- 在JavaScript Windows 8应用程序中设置桌面壁纸
- Regex&Javascript:忽略wxyz.jpg之前的任何内容
- 如何制作链接到网页特定元素的桌面快捷方式
- ng文件上传获胜't将jpg图像转换为png
- 创建nw.js+流星桌面应用程序
- 如何使用HTML/CSS/JavaScript开发桌面应用程序
- PDF到JPG的转换器
- 移动和桌面视图的角度控制器继承
- 除非填写必需的html表单,否则禁用对驱动器和桌面的访问
- 将画布另存为jpg到桌面