@laya_Aaron
var HTMLCanvas=Laya.HTMLCanvas;
var Texture=Laya.Texture;
var RenderContext=Laya.RenderContext;
var Render= Laya.Render;
var RunDriver=Laya.RunDriver;
var htmlCanvas = drawToCanvas(600, 400, 0, 0);//把精灵绘制到canvas上面
console.log(htmlCanvas);
//百度echarts表格实例化方法 用百度表格生成的canvas对象替换htmlCanvas[size=14] 的canvas对象[/size]
var myChart = echarts.init(htmlCanvas.getCanvas());
// 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
console.log(htmlCanvas.getCanvas());
var texture = new Texture(htmlCanvas);//使用htmlCanvas创建Texture
console.log([size=14]texture[/size][size=14] [/size])
var sp = new Sprite().pos(0, 200);//创建精灵并把它放倒200位置
sp.graphics.drawTexture(texture);//把截图绘制到精灵上
Laya.stage.addChild(sp);//把精灵显示到舞台
function drawToCanvas(canvasWidth, canvasHeight, offsetX, offsetY) {
if (Render.isConchNode) {
var canvas = HTMLCanvas.create("2D");
var context = new RenderContext(canvasWidth, canvasHeight, canvas);
context.ctx.setCanvasType(1);
conchModel.drawToCanvas(canvas.source, offsetX, offsetY);
return canvas;
} else {
return RunDriver.drawToCanvas(this, 0, canvasWidth, canvasHeight, offsetX, offsetY);
}
}
这样做舞台上没有任何显示
我现在想做的是在项目中使用百度的图表 因为公司说不想用在body下创建div的方式来引用图表 是要挂载到某一弹层中使用这个图表功能
如弹层中的作为box中作为子级
官方没有引入外部库 作为layabox的扩展什么的 或如何来使用外部库