
@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))
}
}