dev*_*dar 3 html jquery html5 canvas
我有一个base64图像,如下所示:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAADwCA......
Run Code Online (Sandbox Code Playgroud)
有没有办法可以使用上面编码的图像在画布上绘制它?有没有人有这样的例子.
编辑:
这对我有用,它只在图像而不是base64时绘制图像
这有效:
<script type="text/javascript">
var pos = 0, ctx = null, ctx2 = null,saveCB, image = [], image2 = new Image();
var canvas = document.createElement('canvas');
var image2 = new Image();
canvas.setAttribute('width', 320);
canvas.setAttribute('height', 240);
ctx = canvas.getContext('2d');
image = ctx.getImageData(0, 0, 320, 240);
var saveCB = function (data) {
var col = data.split(';');
var img = image;
for (var i = 0; i < 320; i++) {
var tmp = parseInt(col[i]);
img.data[pos + 0] = (tmp >> 16) & 0xff;
img.data[pos + 1] = (tmp >> 8) & 0xff;
img.data[pos + 2] = tmp & 0xff;
img.data[pos + 3] = 0xff;
pos += 4;
}
if (pos >= 4 * 320 * 240) {
ctx.putImageData(img, 0, 0);
foto = canvas.toDataURL("image/png");
$("#photo").val(foto);
alert($("#photo").val());
ctx2 = document.getElementById("canvas2").getContext("2d");
ctx2.clearRect(0, 0, 320, 240);
image2.src = 'http://blackberry12.com/uploads/allimg/110311/2-110311153Z90-L.jpg';
ctx2.drawImage(image2,0,0);
pos = 0;
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
如果我将image2.src更改为foto或$("#photo").val()我没有得到任何东西只是一个白色的画布.
编辑 从我的调查我得到相同的base64代码每次我拍照和编码.看起来base64代码真的是白屏.任何人都可以在这里帮助,无法看到我在哪里犯了错误.
绝对.
var img = new Image();
img.src = "data:image/png;base64,.............";
ctx.drawImage(img,0,0);
Run Code Online (Sandbox Code Playgroud)
图像可立即用于绘图.
| 归档时间: |
|
| 查看次数: |
6703 次 |
| 最近记录: |