相关疑难解决方法(0)

Canvas 占用大量 CPU

Canvas在 QML 中使用 OpenGL 来绘制旋转Rectangle。这是代码:

//...
property variant points: []

onPointsChanged:{
    canvas.requestPaint();
}

//...

Canvas{
    //...

    onPaint:{
        var ctx = canvas.getContext('2d')

        ctx.clearRect(0,0, width, height);
        ctx.beginPath()
        ctx.strokeStyle = 'red'
        ctx.lineWidth = 3

        for(var i = 0; i < points.length; i++){
            var p1 = convertPoint(points[i])
            if(i == 0){
                ctx.moveTo(p1.x, p1.y)
                continue
            }

            ctx.lineTo(p1.x, p1.y)
        }
        ctx.stroke()
        ctx.restore()
    }

    function convertPoint(p){
        var x = p.x * width;
        var y = p.y * height;
        return Qt.point(x,y);
    }
}
Run Code Online (Sandbox Code Playgroud)

C++代码中计算了4个点,每30ms发送到qml。问题是,在 MinGW …

opengl qt qml qtquick2

1
推荐指数
1
解决办法
4384
查看次数

如何绘制线 - 不是在画布上,只是对象?

我将我的游戏移植到QML并且有一个困难.看这张图片:

用矢量精灵

三角形是一个精灵,线条是力矢量.我可以在QML中显示精灵,但我无法理解如何绘制矢量.它的长度可以超过精灵大小.

我想我可以用Rectangleheight的1px的,但我不知道如何将它旋转.

力量可以在每帧变化,因此绘图性能必须良好.

qt qml qtquick2

1
推荐指数
1
解决办法
8395
查看次数

标签 统计

qml ×2

qt ×2

qtquick2 ×2

opengl ×1