首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CamanJS -替换实例

CamanJS -替换实例
EN

Stack Overflow用户
提问于 2013-06-06 23:27:37
回答 2查看 1.7K关注 0票数 9

如果我有一个应用了滤镜的图像,比如Lomo滤镜,有没有办法让它成为当前的Caman实例?

这意味着,如果我随后想要在应用滤镜的图像上使用亮度,并使用this.revert();重置亮度,我希望它恢复到我刚刚应用的滤镜的画布上。

这个是可能的吗?

我做了一个噩梦,试图应用许多效果,一次只有一个(除了预设的滤镜),并通过状态…

EN

回答 2

Stack Overflow用户

发布于 2013-06-10 17:43:20

如果我理解的话,你想应用滤镜( "Lomo“),如their example page所示,然后摆弄一些属性(如亮度),然后将更改恢复为”Lomo“滤镜?

为什么不再次点击filter ("Lomo")呢?

编辑:您可能应该看看guide,并使用默认值实现您自己的方法,如在过滤器中。

代码语言:javascript
复制
u.Filter.register("lomo", function (D) {
        if (D == null) {
            D = true
        }
        this.brightness(15);
        this.exposure(15);
        this.curves("rgb", [0, 0], [200, 0], [155, 255], [255, 255]);
        this.saturation(-20);
        this.gamma(1.8);
        if (D) {
            this.vignette("50%", 60)
        }
        return this.brightness(5)
    });

我不认为你的需求是“开箱即用”的。

票数 1
EN

Stack Overflow用户

发布于 2019-01-18 16:33:22

如果我没理解错的话,你想使用滤镜和其他效果,如亮度和对比度等。

我做了一些代码,可以根据你的需要工作

代码语言:javascript
复制
 Caman('#canvas-camanImage',"./../media/caman.png", function () {
        this.revert(false);
        for(var i = 0 ;i<selectedPresets.length;i++){
            this[selectedPresets[i]]();
        }
        for(var key in effect){
            this[key](effect[key].value);
        }
        this.render(function () {
        });

在上面的代码中,我将所有像亮度、对比度这样的效果存储在像effect = { brightness : { min : -100, max: 100, value : 0 }, contrast : { min : -100, max: 100, value : 0 }, saturation : { min : -100, max: 100, value : 0 } };这样的效果变量中

和数组中的预设

代码语言:javascript
复制
presets = [
    {filter:'vintage',name : 'Vintage'},
    {filter:'lomo',name:'Lomo'},
    {filter: 'clarity', name:'Clarity'},
    {filter:'sinCity', name:'Sin City'}
    ];

因此,每次添加任何预设或更改任何效应值时,我都会更改变量中的值,并再次渲染画布

它对我来说运行得很好

如果您担心的是其他问题,请告诉我

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16966128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档