Qt Quick Examples - Canvas▲
Canvas is a collection of small QML examples relating to the Canvas type. Each example is a small QML file emphasizing a particular type or feature.
Running the Example▲
To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.
Red Heart▲
Red heart uses the bezier curve API to stroke and fill a red heart.
ctx.beginPath()
ctx.moveTo(75
,40
)
ctx.bezierCurveTo(75
,37
,70
,25
,50
,25
)
ctx.bezierCurveTo(20
,25
,20
,62.5,20
,62.5)
ctx.bezierCurveTo(20
,80
,40
,102
,75
,120
)
ctx.bezierCurveTo(110
,102
,130
,80
,130
,62.5)
ctx.bezierCurveTo(130
,62.5,130
,25
,100
,25
)
ctx.bezierCurveTo(85
,25
,75
,37
,75
,40
)
ctx.closePath()
Talk Bubble▲
Talk bubble uses the quadraticCurveTo() API to stroke and fill a customized talk bubble:
ctx.beginPath()
ctx.moveTo(75
, 25
)
ctx.quadraticCurveTo(25
, 25
, 25
, 62.5)
ctx.quadraticCurveTo(25
, 100
, 50
, 100
)
ctx.quadraticCurveTo(50
, 120
, 30
, 125
)
ctx.quadraticCurveTo(60
, 120
, 65
, 100
)
ctx.quadraticCurveTo(125
, 100
, 125
, 62.5)
ctx.quadraticCurveTo(125
, 25
, 75
, 25
)
ctx.closePath()
This example also demonstrates the fillText() API:
ctx.fillStyle =
"white"
ctx.font =
"bold 17px sans-serif"
ctx.fillText("Qt Quick"
, 40
, 70
)
Squircle▲
Squircle uses a collection of simple moveTo() and lineTo() path APIs to draw a smooth squircle.
Rounded Rectangle▲
Rounded rectangle uses a collection of lineTo() and arcTo() path APIs to draw a rounded rectangle.
Smile Face▲
Smile face uses several paths to draw and fill a smiling face.
Clip▲
Clip uses the clip API to clip a given image.
ctx.clip()
ctx.drawImage(canvas.imagefile, 0
, 0
)
Tiger▲
Tiger uses the SVG path API to draw a tiger with a collection of SVG path strings.
for
(let i =
0
; i &
lt; Tiger.tiger.length; i++) {
if (
Tiger.
tiger[
i].
width !==
undefined)
ctx.
lineWidth =
Tiger.
tiger[
i].
width
if (
Tiger.
tiger[
i].
path !==
undefined)
ctx.
path =
Tiger.
tiger[
i].
path
if (
Tiger.
tiger[
i].
fill !==
undefined) {
ctx.
fillStyle =
Tiger.
tiger[
i].
fill
ctx.fill
(
)
}
if (
Tiger.
tiger[
i].
stroke !==
undefined) {
ctx.
strokeStyle =
Tiger.
tiger[
i].
stroke
ctx.stroke
(
)
}
}