在带有过滤器的画布中打印错误
Print error in canvas with filters
我有一个带有滤镜的画布元素,我想打印这个画布,但是当我尝试打印时,打印没有滤镜效果。
HTML:<div class="container">
<canvas id="outCanvas" width="300" height="200" style="position: absolute;">
</canvas>
<canvas id="print" width="300" height="200" style="position: absolute; left: 300px;">
</canvas>
</div>
JS:
// canvas for video frame
var outCanvas = document.getElementById('outCanvas');
var outCtx = outCanvas.getContext('2d');
var print = document.getElementById('print');
var printCtx = print.getContext('2d');
var image = new Image();
image.onload = function() {
outCtx.drawImage(image, 0, 0, 300, 200);
printCtx.drawImage(outCanvas, 0, 0, 300, 200);
}
image.src = 'http://www.beach-therapy.com/images/Arubabeach.jpg';
var filter = 'grayscale(100%) sepia(0%) contrast(130%) brightness(110%)';
$(outCanvas)
.css('filter', filter)
.css('-webkit-filter', filter);
修改示例
有人知道为什么会这样吗?
这是因为您没有为printdiv添加过滤器。您只为outCanvasdiv添加了过滤器。
$(print)
.css('filter', filter)
.css('-webkit-filter', filter);
现在它工作了。查看演示
希望有帮助!
相关文章:
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 在终端中运行 JavaScript 时(使用 rhino),如何使用 print() 函数在一行中打印
- Javascript,从静态函数中打印全局对象
- 如何在html中打印选择文本
- 如何删除在PHP中打印网页时显示的URL
- 双反斜杠在节点中打印相同的内容
- 如何在javascript循环中打印代码
- 如何在internjs中打印createpage中的HTML源代码
- 如何在html元素中打印javascript变量
- 如何在php中使用echo来在html中打印文本
- 在htm-php页面中打印Javascript函数
- 如何在变量中存储多个模式参数并在 JavaScript 中打印该变量的值
- 在表中打印出 Javascript 数组
- 在 javascript 函数中打印 HTML JavaScript 代码
- 如何在 BackboneJS *木偶* 集合视图中打印行行
- 如何在用户输入提交后在同一页面中打印出表单字段值
- 窗口确认在 AJAX 帖子中打印 HTML 标签
- 是否可以取消在javascript中打印
- 如何在代码编辑器中打印致命错误
- 无法在所有页面中打印类似水印的背景文本