我的老板让我为HTML文件添加一个"打印"按钮.好吧,window.print().但这不起作用,因为嵌入在软件中的Web浏览器是由我公司自己开发的.它可能不支持打印.
无论如何,我必须支持这一点.
这个Web浏览器使用的是WebKit,我对Qt和WebKit只有一点了解.
我该如何实现此功能?例如,Web浏览器如何处理"window.print"?
我在HTML5画布上绘制图像,图像的源是SVG字符串.然后我得到了画布的ImageImage,这在Firefox和Chrome中运行良好,但在IE11中会调用安全性错误.
我写了一个简单的测试页来重现我的问题.
<!DOCTYPE html>
<html>
<body>
<p>
Click to run the function
<button type="button" onclick="myFunction()">run</button>
</p>
<canvas id="myCanvas" width="300" height="150" style="border: 1px solid #d3d3d3;">Your browser does not support the HTML5 canvas tag.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var svgString = "<svg stroke='black' width='50' height='50' xmlns='http://www.w3.org/2000/svg'><ellipse class='black' rx='29%' ry='29%' cy='50%' cx='50%' fill='transparent'/><svg width='100%' height='100%' viewBox='0 0 50 50' preserveAspectRatio='none' ><text class='blue' text-anchor='middle' font-size='24' y='33' x='25'>9</text></svg></svg>";
var img = new Image();
img.onload = function () {
ctx.drawImage(img, 0, …Run Code Online (Sandbox Code Playgroud) 我想在画布上绘制一个svg文件.当前代码如下:
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var img = new Image();
img.src = "simple SVG.svg";
context.drawImage(img, 0, 0);
Run Code Online (Sandbox Code Playgroud)
但是如何改变svg的颜色在canvas上显示,没有使用canvg 和嵌入式脚本(意味着修改原始svg文件是禁止的)?正在阅读svg文件并以可能的方式替换"fill ="?