통해 HTML 캔버스 렌더링되지 파이어 55 인라인 영상 (IMG)을 업데이트 한 후에 I 몇 HTML 요소 SVG 데이터으로 렌더링되어있는 CANVAS 영역을 개발 하였다. 파이어 폭 새롭게 업데이트 된 버전 전에는 완벽하게 작동했습니다. 이제이 최근 업데이트 후에 CSS 배경 이미지 만 렌더링됩니다. img 태그를 통한 인라인 이미지는 아무것도 보이지 않습니다.SVG
일부 제한 사항 때문에 CSS 배경 이미지를 사용할 수 없습니다. 높은 Z- 인덱스와 위치를 통해 상위 레이어의 배경 및 일부 PNG 이미지에 색상을 표시해야합니다. 절대 속성. 그래서, 그것은 투명한 영역에서 컬러 드로잉과 같은 느낌이들 것입니다.
업데이트 - 샘플 코드 -
<canvas id="canvas" style="border:2px solid black;" width="200" height="200"></canvas>
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var data = "<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>" +
"<foreignObject width='100%' height='100%'>" +
"<div xmlns='http://www.w3.org/1999/xhtml' style='font-size:40px;background-color:#0f0'>" +
"<em>I</em> like <span style='color:white; text-shadow:0 0 2px blue;'>cheese</span>" +
"<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' width='150' height='150'/></div>" +
"</foreignObject>" +
"</svg>";
var DOMURL = self.URL || self.webkitURL || self;
var img = new Image();
var svg = new Blob([data], {type: "image/svg+xml;charset=utf-8"});
var url = DOMURL.createObjectURL(svg);
img.onload = function() {
ctx.drawImage(img, 0, 0, 200,200);
DOMURL.revokeObjectURL(url);
};
img.src = url;
</script>
[MCVE] – Kaiido
나는 [이상있다] (https://jsfiddle.net/7qzrv71r/)라고 생각한다. 매우 이상하다.'SVGImage'가 렌더링 될 것이지만''에'' svg doc 자체가 HTMLImage 요소에서 렌더링 될 때가 아니라 iframe에서 수행 될 때 ... if answer ... [* file a bug *] (https://bugzilla.mozilla.org/enter_bug.cgi#h) = 제품 % 7C) (실제로는 캔버스와 아무 관련이 없습니다) –
Kaiido
방금 버그 리포트를 작성했습니다 https://bugzilla.mozilla.org/show_bug.cgi?id=1409992 어떤 일이 벌어 지는지 봅시다. – Kaiido