Compose - Canvas

FLUORITE·2025년 1월 17일

안드로이드

목록 보기
6/32


@Composable
fun CanvasEx() {
    Canvas(modifier = Modifier.size(20.dp)) {

        // 단계 1: `drawLine`을 사용해봅시다. 파라미터로 색상, 시작(`Offset`)
        // 끝(`Offset` 타입)을 받습니다.
        drawLine(
            color = Color.Blue,
            start = Offset(0f, 0f),
            end = Offset(size.width, size.height)
        )
        // 단계 2: `drawCircle`을 사용해보세요. 색상, 반지름, 중앙(`Offset`)
        // 파라미터로 받습니다.
        drawCircle(
            color = Color.Blue,
            radius = 10f,
            center = Offset(size.width / 2f, size.height / 2f)
        )
        drawRect(
            color = Color.Blue,
            Offset(size.width / 4f, size.height / 4f),
            Size(10f, 10f)
        )

        Icons.Filled.Send
        // 단계 3: 아래의 규칙으로 그려진 아이콘 `Icons.Filled.Send`를
        // `drawLine`으로 변경해봅시다.

        // ImageVector에서는 한붓 그리기 처럼 연속으로 그려집니다.
        // `moveTo`로 2.01f, 21.0f로 이동한 후 거기에서
        // 23.0f, 12.0f로 선이 그어지는 식입니다.

        //        moveTo(2.01f, 21.0f)
        //        lineTo(23.0f, 12.0f)
        //        lineTo(2.01f, 3.0f)
        //        lineTo(2.0f, 10.0f)
        //        lineToRelative(15.0f, 2.0f)
        //        lineToRelative(-15.0f, 2.0f)
        //        close()
        drawLine(Color.Blue, Offset(2.01f, 21.0f), Offset(23.0f, 12.0f))
        drawLine(Color.Blue, Offset(23.0f, 12.0f), Offset(2.01f, 3.0f))
        drawLine(Color.Blue, Offset(2.01f, 3.0f), Offset(2.0f, 10.0f))
        drawLine(Color.Blue, Offset(2.0f, 10.0f), Offset(17.0f, 12.0f))
        drawLine(Color.Blue, Offset(17.0f, 12.0f), Offset(2.0f, 14.0f))
        drawLine(Color.Blue, Offset(2.0f, 14.0f), Offset(2.01f, 21.0f))


    }
}
profile
모두 이루어져라

0개의 댓글