显示画布标记有问题的图像
Display image with canvas tag trouble
我是jquery的新手,我有一个关于用画布显示图像的小项目。一切都会很好,但我有一个麻烦,当尝试显示所有图像时,我尝试使用。每个(功能)或循环但不工作
这是我的麻烦,有人能帮忙吗?。感谢
http://jsfiddle.net/NcKfr/6/
<textarea id="textid">blah blah blah</textarea>
<canvas id="ca1" width="640" height="480"></canvas>
<script>
$(document.body).find('*').each(function() {
var tmp = $("textarea").children().remove();
var text = $("textarea").text();
text = text.replace(/<li>/g, "").replace(/<'/li>/g, "").replace(/<br '/>/g, "").replace(/'/>/g, "").replace(/<img/g, "").replace(/ /g, "");
$("textarea").text(text);
$("textarea").append(tmp);
});
</script>
Script code :
$(function(e) {
var data = $("#textid").val();
rows = data.split('src="');
partNum = [];
var i;
var len = rows.length;
var can = document.getElementsByTagName('canvas')[0];
var ctx = can.getContext('2d');
$(document).ready(function() {
for (i = 1; i < len; i++) {
partNum[i] = rows[i].substr(0,rows[i].indexOf('"'));
$.getImageData({
url: partNum[i],
success: function(image) {
// Set the canvas width and heigh to the same as the image
$(can).attr('width', image.width);
$(can).attr('height', image.height);
$(can).css({
'background-color': 'none',
'border-color': '#fff'
});
// Draw the image on to the canvas
ctx.drawImage(image, 0, 0, image.width, image.height);
},
error: function(xhr, text_status) {
// Handle your error here
}
});
}
});
});
success: function(image) {
script = document.createElement('canvas'); var can = document.body.appendChild(script);
如果我在两行中更改代码,我可以显示所有图像,但我可以控制它从1加载到13。任何人都可以帮我修复它。。。感谢
这里有一个代码,它将在一个画布上一个接一个地绘制图像。
var url = "http://farm4.static.flickr.com/",
urls = [
"3002/2758349058_ab6dc9cfdc_z.jpg",
"2445/5852210343_d21767f18d.jpg"],
can = $('#canvas').get(0),
ctx = can.getContext('2d'),
canH = 0,
canW = 0,
h = 0,
images = [],
size = urls.length;
// loop via all images
$.each(urls, function (index, img) {
$.getImageData({
url: url + img,
success: function (image) {
images.push(image);
canH += image.height;
canW = Math.max(canW, image.width);
if (images.length === size) {
can.width = canW;
can.height = canH;
$.each(images, function (i, img) {
ctx.drawImage(img, 0, h);
h += img.height;
});
}
}
});
});
您也可以检查:http://jsfiddle.net/HcxG3/6/(看起来getImageData背后的服务当前已关闭)。
相关文章:
- 这个条件语句的逻辑有问题
- 画布图像的问题
- 阵列中随机图像的问题
- 什么'这个javascript代码getElementById有问题
- 如何处理流星变量&对miniMongo有问题
- 谷歌表单xml有问题
- Jquery图像循环问题
- Html、css和jQuery.我的代码有问题
- 有问题的突出显示(悬停)一个系列,突出显示图表
- 使用Angularjs和ionic的图像大小问题
- D3 折线图示例 - 日期有问题
- 页面刷新后javascript内存泄漏有问题吗?为什么?
- 有问题的键代码186和222,如何捕捉它们
- 循环 += 十进制变量的 javascript 有问题
- 随机数生成器,what'我的方法/统计数据有问题吗?[JS]
- Jquery中的mousemove和图像有问题
- 在Javascript中重新加载图像源有问题
- 有问题旋转facebook, twitter和youtube图标图像
- 显示画布标记有问题的图像
- 使用JavaScript的背景图像有问题