到现在为止,我已经设置HTML画布上下文的方式在教程是shown,如:设置HTML画布背景
var canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d");
ctx.font = "15px calibri";
...
我想知道是否可以设置画布的背景下通过将具有正确属性的对象传递给其中一个方法?例如:
var canvas = document.getElementById("canvas");
var context = {
font: "15px calibri",
...
);
canvas.setContext(context);
原因是我正在创建一个角度的自定义画布。例如,我的controller
将获得<canvas>
元素。 service
中的方法将回调为画布设置的上下文对象。
自定义画布将被转换为PNG,并设置为icon
作为Google地图上的标记。标记被添加到地图中service
:
addMarkerToMap: function(position, map, canvas) {
new google.maps.Marker({
position: position,
map: map,
icon: canvas.toDataURL("image/png")
});
}
所以我希望能在canvas
元素传递到这个温控功能(与它的背景下已经设置),只是设置它的PNG相当于作为标记icon
。
编辑:
我现在已经意识到,其他的则只是设置属性(即fillStyle
),我调用上下文方法(即beginPath()
)。
我认为这将使它更难完成我想做
我不明白为什么这需要“设置”上下文对象 – qxz
你只是希望能够做批量写入所有的属性,如'font','fillStyle'等? – qxz
@qxz no。我想将所有属性批量写入一个对象中。但是,因为我依赖'service'来设置上下文,所以它变得更加困难。例如,我试图将canvas元素传递到服务中,然后设置它的上下文,但由于服务没有与模板映射,所以没有实现上下文设置 – wmash