Fabric.js混合模式-混合图像为黑色
Fabric.js blend mode - blended image is black
我试图在fabric.js中使用混合滤镜,并且无法发现我做错了什么:滤镜应用的图像变成黑色
var canvas = new fabric.Canvas('c1');
var bgImg = fabric.Image.fromURL('url', function (oImg) {
canvas.add(oImg);
}, {
crossOrigin: 'Anonymous'
});
var blendImg = fabric.Image.fromURL('url', function (oImg) {
var filter = new fabric.Image.filters.Blend({
image: bgImg,
mode: 'multiply',
alpha:0.5
});
oImg.filters.push(filter);
oImg.applyFilters(canvas.renderAll.bind(canvas));
canvas.add(oImg);
}, {
crossOrigin: 'Anonymous'
});
这是我的小提琴:http://jsfiddle.net/mikado/5Lg7nos6/1/,请给我点提示
您遇到async问题。代码正在对图像进行外部请求,并且需要实现一个回调结构。
我不确定你到底想要的图像看起来像什么…但我已经改变了你的代码结构,让它工作。
基于你所拥有的:我们抓取第一个图像,然后将其添加到画布,然后我们抓取第二个图像并对其应用混合过滤器。然后将第二张图像添加到画布中。
var canvas = new fabric.Canvas('c1');
fabric.Image.fromURL('https://upload.wikimedia.org/wikipedia/commons/c/c6/Grey_Tshirt.jpg', function(oImg) {
canvas.add(oImg);
var filter = new fabric.Image.filters.Blend({
image: oImg,
mode: 'multiply',
alpha: 0.3
});
fabric.Image.fromURL('https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg', function(zImg) {
zImg.filters.push(filter);
zImg.applyFilters(canvas.renderAll.bind(canvas));
canvas.add(zImg);
},{crossOrigin: ''});
},{crossOrigin: ''});
这里是小提琴:https://jsfiddle.net/5Lg7nos6/2/
相关文章:
- 使用jQuery以红色和黑色闪烁文本
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 将画布转换为pdf:黑色背景
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- 混合元素的有角度的ng重复
- VueJS多个混合
- 三js黑色材质,透明
- 黑色三件套帆布背景
- 在Firefox中导出高图表时出现黑色图像错误
- 如何对混合格式的数字(89900,1k,1.5k,15.2k)进行排序
- Three.js-Skybox显示黑色
- 过滤”;溢价;页面加载选项使用混合
- 将javascript与PHP混合?(跟踪Google Analytics虚拟页面浏览量)
- 在混合基本 URL 下动态加载 require.js 模块
- 为什么我的犀牛书;s的SVG时钟为黑色圆圈
- javascript散列/数组混合性能
- Collada模型在Three.js中显示为黑色
- 如何通过ibmworklight中的sql适配器从db2中检索或显示html页面上的数据?android混合应用程序开发
- 检查 HTML5 画布上的像素是否为黑色
- Fabric.js混合模式-混合图像为黑色