Applyfilter в HTML5 кинетической

Я использовал kinetic-v4.0.0.js, и мой код работает отлично. Теперь я перехожу на новый js, так как не могу найти старый, чтобы загрузить его, и у меня много проблем. Например, одна из моих проблем - фильтр применения. Я имею:

 image.applyFilter({
    filter: Kinetic.Filters.Grayscale,
    callback: function() {          
        layer.draw();
    }
 });

и я получаю это:

 Kinetic warning: Unable to apply filter. g is undefined

Кто-нибудь знает в чем будет проблема? Заранее спасибо.

1 ответ

Решение

Синтаксис для applyFilter изменено в KineticJS 4.1.0 (см. список изменений)

Image.applyFilter () теперь принимает требуемую функцию фильтра, необязательный объект конфигурации и необязательный обратный вызов, а не объект конфигурации, который содержал эти три свойства.

image.applyFilter(Kinetic.Filters.Grayscale, null, function() {
  layer.draw();
});

Вы также можете использовать setFilter функция:

image.setFilter(Kinetic.Filters.Grayscale);
layer.draw();

Или установите фильтр по изображениям filter имущество:

var image = new Kinetic.Image({
  x: 10,
  y: 10,
  image: imageObj,
  draggable: true,
  filter: Kinetic.Filters.Grayscale,
  filterRadius: 20
});
Другие вопросы по тегам