HTML5 Canvas - 使用命令数组通过上下文进行绘制
HTML5 Canvas - Using an array of commands to draw via context?
我想做下面这样的事情...
// commmands - context commands to build primitives.
// See comments in loop for example.
function DrawToCanvas(commands, height, width){
var canvas = document.createElement("canvas");
canvas.width = inWidth;
canvas.height = inHeight;
var context = canvas.getContext("2d")
for(var i = 0; i < commands.length; i++){
// Do Stuff like
// context.beginPath();
// context.moveTo(25,25);
// context.lineTo(105,25);
// context.lineTo(25,105);
// context.fill();
// context.commands[i] <- Something like this
}
return canvas;
}
是否有一些等效于上下文命令[i]等...
我在想如果这是不可能的,另一种选择是传递回调函数。像...
function MakeALine(){
var newLineAsCanvas = DrawToCanvas(100,100,function(context){
context.beginPath();
context.moveTo(25,25);
// etc...
}
}
做这样的事情最好的方法是什么?
我有点困惑你在追求什么,但 javascript 调用命令可能会有所帮助。
var commands = [];
commands.push(function(context) {
context.beginPath();
});
commands.push(function(context) {
context.moveTo(25,25);
context.lineTo(105,25);
context.lineTo(25,105);
});
commands.push(function(context) {
context.fill();
});
document.body.appendChild(DrawToCanvas(commands, 300, 300));
function DrawToCanvas(commands, height, width){
var canvas = document.createElement("canvas");
canvas.width = width;
canvas.height = height;
var context = canvas.getContext("2d")
for(var i = 0; i < commands.length; i++){
commands[i].call(this, context);
}
return canvas;
}
相关文章:
- 将函数的上下文应用于javascript变量
- D3在一个调用中绘制不同的SVG形状,没有可见性
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 有没有一个javascript图形绘制库可以进行气球树布局
- 使用JQuery的动态上下文菜单
- 使用相同的数据集绘制各种符号
- 使用onclick绘制SVG路径
- 如何访问UIWebView'的子窗口上下文
- 在谷歌地图上绘制位置数据库
- 用chart.js绘制条形图
- “可绘制地图”设置地图选项“纬度-经度”
- 多维数据集网格未在指定的分区中绘制
- 使用谷歌图表在x轴上绘制日期
- 使用fabric.js从矩形区域获取对象,并将该区域绘制到画布上
- 如何在React Native中绘制图形
- HTML5 Canvas - 使用命令数组通过上下文进行绘制
- 绘制后获取Html5画布上下文数据
- 通过HTML5画布上下文进行缩放,并在给定图像上绘制网格
- 画布如何旋转图像和重新绘制而不旋转整个上下文
- 在绘制之前剪切上下文是否有助于HTML5画布的性能