Compose Graphic

임찬형·2022년 2월 23일
0

Android Compose

목록 보기
11/16

선언적 그래픽

  • Compose는 그래픽도 선언적으로 처리함
  • Paint 객체 등 내부적으로 뷰 기반 UI의 객체를 사용함

Canvas

  • Canvas Composable은 DrawScope를 제공함
  1. 직선 그리기

    drawLine 함수를 통해 Canvas에서 오른쪽 상단에서 왼쪽 하단으로 이어지는 파란 대각선을 그리는 예시.
    drawLine에는 strokeWidth 속성이 존재하며, 선의 두께를 조절 가능

  2. 원 그리기

    drawCircle 함수를 통해 Canvas에서 중앙에 위치하는 파란 원을 그리는 예시.

DrawScope

  • DrawScope.inset()
    inset 함수를 사용하면 현재 범위의 기본 매개변수를 조정하고 그리기 경계를 변경하고 그림을 적절히 변환할 수 있음

    가로 세로가 화면 절반인 크기의 직사각형을 그리는 예시


inset 함수를 적용하여 현재 범위의 기본 매개변수를 조정. 위 예시에선 직사각형의 위치를 x축 방향으로 50, y축 방향으로 30 이동

  • DrawScope.rotate(degrees)
    범위 내의 그리기들을 회전시킴

  • withTransform()
    중첩된 drawScope 환경을 만드는 것은 효율이 좋지 않음
    withTransform 함수를 이용하면 모든 변경사항을 결합한 단일 변환을 만들어 적용함

0개의 댓글