有什么方法可以将HTML画布的内容作为二进制数据读取吗?
目前,我有以下HTML来显示输入文件及其下面的画布:
<p><button id="myButton" type="button">Get Image Content</button></p>
<p>Input:<input id="fileInput" type="file"/></p>
<p>Canvas<canvas id="myCanvas" width="578" height="200"/></p>
$('#fileInput').on('change', function() {
$.each(this.files, function() {
var image = new Image();
image.src = window.URL.createObjectURL(this);
image.onload = function() {
$("canvas").drawImage({
source: image,
x: 50, y: 50,
width: 100,
fromCenter: false
});
};
});
});
任何帮助都会很好!干杯
canvas
元素提供了一个ToDataurl
方法,该方法返回一个data:
URL,该URL包括给定格式的base64编码的图像数据。例如:
var jpegUrl = canvas.toDataURL("image/jpeg");
var pngUrl = canvas.toDataURL(); // PNG is the default
虽然返回值不仅仅是base64编码的二进制数据,但要想获得所需的数据,只需删减方案和文件类型就可以了。
如果浏览器认为您向画布绘制了从不同来源加载的任何数据,则ToDataurl
方法将失败,因此只有当图像文件与执行此操作的脚本所在的HTML页面从同一服务器加载时,此方法才起作用。
有关更多信息,请参阅canvas
API上的MDN文档,其中包括关于ToDataurl
的详细信息,以及关于Data:
URI方案的Wikipedia文章,其中包括您将从该调用接收到的URI格式的详细信息。
问题内容: 我想将以Base64编码的PNG图像加载到canvas元素。我有以下代码: 在Chrome 8中,我收到错误消息: 在Firefox的Firebug中,这是:“对象的类型与与该对象关联的参数的预期类型不兼容”代码:“ 17” 在那个base64中,是我在GIMP中制作的5x5px黑色PNG正方形,并将其转换为GNU / Linux程序base64中的base64。 问题答案: 从外观上
问题内容: 我一直在脑子里对着桌子打一个小时,现在只是想找到某种说出来的方法……从剪贴板上拿出一个字节数组。相反,我似乎只能找到有关如何从剪贴板中获取 纯文本 的信息……这根本没有帮助。 我试过以下操作:Java获取剪贴板的字节数 我也尝试过以下操作:http : //mrbool.com/manipulating-clipboard-content-with- java/24758 每次遇到“不
base64编码 # base64_b64encode.py import base64 import textwrap # Load this source file and strip the header. with open(__file__, 'r', encoding='utf-8') as input: raw = input.read() initial_data
要安装 Ceph 及其依赖软件,你需要参考本手册从 Ceph 软件库下载,然后继续看安装 Ceph 对象存储。 获取软件包 有两种方法获取软件包: 增加源: 增加源是获取二进制包的最简方法,因为多数情况下包管理工具都能自动下载、并解决依赖关系。然而,这种方法要求各 Ceph 节点都能连接互联网。 手动下载: 如果你的环境不允许 Ceph 节点访问互联网,手动下载软件包安装 Ceph 也不复杂。 准
问题内容: 我在SWIG的Python中使用C 函数,现在遇到了一个问题。当我将char *从C 传递给Python时,char *被Python截断。 例如: example.h: 现在在Python中,我们称为example.fun(),它仅打印“ abc”而不是“ abc \ 0de”,Python删除“ \ 0”后面的数据。 我想从C ++中的fun()获取所有字符(它是一个可以包含’\
问题内容: 是否可以在Python 2.6中将stdin读取为二进制数据?如果是这样,怎么办? 我在Python 3.1文档中 看到这很简单,但是在2.6中执行此操作的工具似乎并不存在。 如果3.1中描述的方法不可用,是否有办法关闭stdin并以二进制模式重新打开? 更新资料 为了清楚起见,我在MS-DOS外壳程序中使用“类型”将二进制文件的内容传递给我的python代码。据我了解,这应该等效于U