Могу ли я получить список фильтров Caman.js? - PullRequest
0 голосов
/ 24 января 2019

Есть ли способ вернуть список всех встроенных фильтров в библиотеке.

Например:

var caman_Default_List = [];
Caman('myCanvas', function(){

     caman_Default_List= this.getAllFilters();
});

Пока я использую это, и все работает хорошо:

var filters =  
[   
   "vintage", "lomo", "clarity", "sinCity", "sunrise", 
   "crossProcess", "orangePeel", "love", "grungy", "jarques", "pinhole", 
   "oldBoot", "glowingSun", "hazyDays", "herMajesty", "nostalgia", 
   "hemingway", "concentrate"
];

myList.push(filters[   some filters   ]);

Caman("#myCanvas", function(){

     this[myList[index]]().render();
});

Но мне было интересно, есть ли способ получить значения фильтров без их разделения. (например, list = ["vintage", "lomo", .........])

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Я использовал приведенный ниже код для достижения того, чего хотел, как сказал @AndrewLohr:

    //Declare lists to store filter names
    var list4,list5,list6,list7 = [];

    //Get Caman Filters (Samples : "vintage", "clarity", ... )
    list4 = (Object.keys(Caman.prototype).slice(75, 93));
    list5 = list4.toString().toUpperCase(); //To upper Case as string value (use as Label Button Name)

    //Get Caman Filters (Customs : "brightness", "saturation")
    list6 = Object.keys(Caman.prototype).slice(45, 55);
    //Add some more elements in the list
    list6.push("clip", "stuckBlur", "exposure", "noise", "sharpen");

    list7 = list6.toString().toUpperCase(); //To upper Case as string value (use as Slider Name)


    //Print lists 
    console.log(list4);console.log(list5);console.log(list6);console.log(list7);
<script src="https://cdnjs.cloudflare.com/ajax/libs/camanjs/4.1.2/caman.full.min.js"></script>
0 голосов
/ 24 января 2019

Я просматривал их документы, но не смог найти ничего полезного для данных, которые вы пытаетесь получить.Я взглянул на их код и придумал для вас следующее:

Я не уверен, что доверю коду на 100%, потому что порядок свойств может измениться, но, по крайней мере, он даст вам то, что выхотел.

console.log(Object.keys(Caman.prototype).slice(75, 93))
<script src="https://cdnjs.cloudflare.com/ajax/libs/camanjs/4.1.2/caman.full.min.js"></script>
...