2016-12-08 3 views
0

Я хочу использовать variant createPattern(Image image, string repetition), но я не знаю, как передать параметр изображения. Я попытался передать идентификатор изображения, но функция возвращает пустой объект.Как использовать createPattern из Context2D QML

variant createPattern(color color, enumeration patternMode) работает как очарование.

+0

Похоже, что 'createPattern' работает только со строкой URL, как' вар PTRN = ctx.createPattern ("https://mdn.mozillademos.org/ файлы/222/Canvas_createpattern.png "," repeat ");' все остальные опции (Image, CanvasImageData и т. д.) ничего не делают. Похож на ошибку. – folibis

+0

Я создал проблему в трекере ошибок - [https://bugreports.qt.io/browse/QTBUG-57512](https://bugreports.qt.io/browse/QTBUG-57512) – folibis

ответ

0

Как сказал @folibis, источник createPattern должен быть URL-адресом. Для тех, кто ищет, например, здесь:

Canvas { 
    id:canvas 
    anchors.fill: parent 
    onPaint:{ 
     var ctx = canvas.getContext('2d'); 
     var pattern = ctx.createPattern("file:///path_to_my_image.ext", 'repeat'); 
     ctx.fillStyle = pattern; 
     ctx.fillRect(0, 0, canvas.width, canvas.height); 
    } 
    Component.onCompleted: canvas.requestPaint(); 
}