1

在 CamanJS 上有一个添加一些效果和新层的示例:

Caman("#image", function () {
  // We can call any filter before the layer
  this.exposure(-10);

  // Create the layer
  this.newLayer(function () {
    // Change the blending mode
    this.setBlendingMode("multiply");

    // Change the opacity of this layer
    this.opacity(80);

    // Now we can *either* fill this layer with a
    // solid color...
    this.fillColor('#6899ba');

    // ... or we can copy the contents of the parent
    // layer to this one.
    this.copyParent();

    // Now, we can call any filter function though the
    // filter object.
    this.filter.brightness(10);
    this.filter.contrast(20);
  });

  // And we can call more filters after the layer
  this.clip(10);
  this.render();
});

它工作正常。我尝试通过使用其他参数再次调用此代码来添加第二层,以添加我之前添加的层的图像,但第一层消失了。

在网站上也有如何添加单个效果的示例。它们很棒,但它们一次只调用一个过滤器。

我想要完成的是,根据用户设置,添加例如一层、两层,或应用不透明度和新层。

而且我希望它每次都在基础图像上工作,而不是上次过滤的图像效果。

那么,使用 CamanJS 根据用户设置更改具有多个过滤器和图层的基本图像的正确方法是什么?

4

1 回答 1

1

您现在可能已经弄清楚了,但是您可以在渲染后调用“this.revert(false)”以确保您正在编辑基本图像。

您可以通过调用流程中的所有效果并使用 if/then 语句来确定用户输入来添加多个效果。例如=

当点击按钮时,x+=1 if (x%2===0){this.yourfilter();}

不过我才刚刚开始。

于 2015-09-19T16:20:01.143 回答