簡體   English   中英

如何將CamanJS過濾器轉換為KineticJS過濾器?

[英]How can I transform a CamanJS Filter into a KineticJS Filter?

CamanJS中給出以下過濾器:

Caman.Filter.register("lomo", function(vignette) {
    if (vignette == null) {
      vignette = 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 (vignette) {
      this.vignette("50%", 60);
    }
    return this.brightness(5);
  });

如何將這個過濾器轉換成KineticJS等效項?

CamanJS和KineticJS過濾器的實現非常不同。

KineticJS過濾器可一次處理像素數據。

CamanJS使用子系統來逐步更改圖像(子系統== this.brightness,this.exposure等)。

因此,沒有簡單的方法可以將CamanJS過濾器轉換為KineticJS過濾器

為此,您必須將許多CamanJS子系統重構並嵌入到KineticJS中。

您可以這樣做,因為CamanJS和KineticJS都是具有自由許可的開源軟件,但這意味着要從CamanJSs重構至少以下子系統(及其依賴項)並將其添加到KineticJS中: https : //github.com/meltingice/CamanJS/斑點/主/ DIST / caman.full.js

  • 亮度,
  • 曝光,
  • 曲線,
  • 飽和,
  • 伽馬

也許更好的主意是在內存畫布上使用CamanJS應用過濾器。 然后,您可以使用該內存中的畫布作為Kinetic.Image的圖像源。 這是操作方法的鏈接: 由CamanJS修改過的KineticJS canvas

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM