求解js 关于drawImage,怎么程序响应后没图片显示
2014-04-17 16:57
337 查看
function renderPolygons(canvas, records, data, box, style) {
log('rendering polygons');
var t1 = new Date().getTime();
log('starting rendering...');
var img= new Image();
var ctx = canvas.getContext('2d');
var sc = Math.min(canvas.width / box.width, canvas.height / box.height);
if (style) {
for ( var p in style) {
ctx[p] = style[p];
}
}
for ( var i = 0; i < records.length; i++) {
var record = records[i];
if (record.shapeType == ShpType.SHAPE_POLYGON
|| record.shapeType == ShpType.SHAPE_POLYLINE) {
var shp = record.shape;
ctx.fillStyle = getFillRecord(data[i]);// m
ctx.beginPath();
for ( var j = 0; j < shp.rings.length; j++) {
var ring = shp.rings[j];
if (ring.length < 1)
continue;
ctx.moveTo((ring[0].x - box.x) * sc, canvas.height
- (ring[0].y - box.y) * sc); //移动到图形的顶点
if (data[i].values["CATACH"]){
//alert(ring[0].x)
//alert(-6.5 + (ring[0].x - box.x) * sc)
//alert( -23 + canvas.height - (ring[0].y - box.y) * sc) //这些都可以相应 但是下面的drawImage却没显示图片img
img.src = "http://localhost:8000/db/anchor.png";
ctx.drawImage(img,-6.5 + (ring[0].x - box.x) * sc, -23 + canvas.height - (ring[0].y - box.y) * sc);
}
for ( var k = 1; k < ring.length; k++) { //画出图形的四边
ctx.lineTo((ring[k].x - box.x) * sc, canvas.height
- (ring[k].y - box.y) * sc);
}
}
if (record.shapeType == ShpType.SHAPE_POLYGON) {
ctx.fill();
}
// if (style.strokeStyle) {
ctx.stroke();
// }
}
}
t2 = new Date().getTime();
log('done rendering in ' + (t2 - t1) + ' ms');
}
function getFillRecord(record) {
var popn = parseInt(record.values["DRVAL2"]);
var color;
if (popn <= 0) {
color = "rgb(66, 179, 232)";
} else if (popn <= 2) {
color = "rgb(129, 195, 226)";
} else if (popn <= 5) {
color = "rgb(162,210,229)";
} else if (popn <= 10) {
color = "rgb(177, 229, 254)";
} else if (popn > 10) {
color = "rgb(216, 244, 225)";
}
return color;
}
log('rendering polygons');
var t1 = new Date().getTime();
log('starting rendering...');
var img= new Image();
var ctx = canvas.getContext('2d');
var sc = Math.min(canvas.width / box.width, canvas.height / box.height);
if (style) {
for ( var p in style) {
ctx[p] = style[p];
}
}
for ( var i = 0; i < records.length; i++) {
var record = records[i];
if (record.shapeType == ShpType.SHAPE_POLYGON
|| record.shapeType == ShpType.SHAPE_POLYLINE) {
var shp = record.shape;
ctx.fillStyle = getFillRecord(data[i]);// m
ctx.beginPath();
for ( var j = 0; j < shp.rings.length; j++) {
var ring = shp.rings[j];
if (ring.length < 1)
continue;
ctx.moveTo((ring[0].x - box.x) * sc, canvas.height
- (ring[0].y - box.y) * sc); //移动到图形的顶点
if (data[i].values["CATACH"]){
//alert(ring[0].x)
//alert(-6.5 + (ring[0].x - box.x) * sc)
//alert( -23 + canvas.height - (ring[0].y - box.y) * sc) //这些都可以相应 但是下面的drawImage却没显示图片img
img.src = "http://localhost:8000/db/anchor.png";
ctx.drawImage(img,-6.5 + (ring[0].x - box.x) * sc, -23 + canvas.height - (ring[0].y - box.y) * sc);
}
for ( var k = 1; k < ring.length; k++) { //画出图形的四边
ctx.lineTo((ring[k].x - box.x) * sc, canvas.height
- (ring[k].y - box.y) * sc);
}
}
if (record.shapeType == ShpType.SHAPE_POLYGON) {
ctx.fill();
}
// if (style.strokeStyle) {
ctx.stroke();
// }
}
}
t2 = new Date().getTime();
log('done rendering in ' + (t2 - t1) + ' ms');
}
function getFillRecord(record) {
var popn = parseInt(record.values["DRVAL2"]);
var color;
if (popn <= 0) {
color = "rgb(66, 179, 232)";
} else if (popn <= 2) {
color = "rgb(129, 195, 226)";
} else if (popn <= 5) {
color = "rgb(162,210,229)";
} else if (popn <= 10) {
color = "rgb(177, 229, 254)";
} else if (popn > 10) {
color = "rgb(216, 244, 225)";
}
return color;
}
相关文章推荐
- 我一个图片怎么都显示不出来,是博客程序原因还是其他?
- 关于怎么解决opencv无法显示图片的解决办法
- 微信小程序image组件binderror使用例子(对应html、js中的onerror) ,图片失效显示默认图片
- 关于ajaxfileupload.js一些问题和上传图片就立即显示图片功能
- 关于js设置标签样式来显示图片背景无效的解决方案
- 关于“在MFC对话框程序中图片显示不出来”问题的解决方法
- 关于iReport制作报表在程序中导出html时的图片显示问题
- Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题
- 关于Qt显示Jpg图片程序的移植和数据库的setfilter函数的问题
- 关于小程序image图片不显示的问题
- Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题
- 微信小程序的image无法显示base64的图片的问题 js截取第一帧
- 关于微信小程序下拉刷新组件加载图片(三个小点)不显示的问题
- 关于使用了QtWebKit的PyQt程序打包后无法显示网页图片的问题(Mac0S和windows)
- 上传图片时JS自动显示图片
- 【史上最简单】android硬件加速——关于图片过大无法显示,直接变黑色问题
- 关于在编译器中图片能正常显示,当导出jar包后图片不能显示的解决办法/JAVA
- 一个wepy开发微信小程序时图片在真机上不显示的问题
- 通过JS获取用户本地图片路径并显示的代码
- android webview js交互, 响应webview中的图片点击事件