DrawImage Houdini CSS Paint API

Я пробую CSS Paint API Houdini на Chrome 70, и я не могу этот пример работать: https://github.com/w3c/css-houdini-drafts/blob/master/css-paint-api/EXPLAINER.md#drawing-images

Я передаю изображение через пользовательское свойство, как это:

--my-image: url("bridge.jpg");

и я использую уровень API свойств и значений CSS (включается через флаг функций Experimental Web Platform), чтобы зарегистрировать свойство изображения:

CSS.registerProperty({
  name: '--my-image',
  syntax: '<image> | none',
  initialValue: 'none',
  inherits: false,
});

Затем я пытаюсь нарисовать это в своем рабочем листе:

class MyWorklet {
  static get inputProperties() { 
    return ['--my-image']; 
  }

  paint(ctx, geom, properties) {
    const img = properties.get('--my-image');
    console.log(img);
    ctx.drawImage(img,10,10,150,180);    
  }
}
registerPaint('myworklet', MyWorklet);

для отображения worklet я сделал простой 500 * 500 div и добавил стиль:

background-image: paint(myworklet);

Консоль говорит мне, что img - это CSSImageValue, так что, похоже, он работает каким-то образом, но изображение не отрисовывается на фоне div.

Кому-нибудь удалось заставить это работать или некоторые функции, которые требуются для такого рода вещей, еще не реализованы?

0 ответов

Изображение не реализовано в Chrome до сих пор. Должен быть доступен в последнем техническом обзоре Safari (v72). Но для этого требуется встроенный код, см. https://vitaliy-bobrov.github.io/blog/trying-paint-wroklet-in-safari-tp/

Другие вопросы по тегам