到現在爲止,我已經設置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