Compose Mulitplatform 앱 작업을 하는 중 Compose View를 캡처 하여 이미지로 저장하는 기능이 필요했다.
그러다가 찾은게 라이브러리인데 해당 라이브러리는 Android만 지원하였다.
해당 라이브러리르 분석하다보니 이미지 캡처를 위해 GraphicsLayer라는 class를 통해 작업 하고 있었고,
Compose Multiplatform의 1.7.0-beta02 버전 이후에 모든 cmp 플랫폼에서 사용 가능 하도록 추가되엇다
사실 수정하는 것을 어렵지 않았다.
capturable 프로젝트를 kmp 가 적용되도록 하고, Android,iOS
(그리고 Jvm,Wasm/JS,JS)를 추가했다.
Android
iOS
Jvm(Desktop)
kotlin/JS
Kotiln/wasm
원작자에게 해당 코드를 머지 요청 하였으나, 원작자는 안드로이드 용으로만 나두고싶다는 의사를 하셔서,
"그러면 제가 따로 라이브러리를 배포해도 될까요?"라는 물음에 "Sure"이라고 답해주었다.
https://github.com/jmseb3/Capturable 에서 확인 할 수 있다.
혹은 maven(https://central.sonatype.com/artifact/io.github.jmseb3/capturable)
Android/iOS의 경우 추가로 share 관련 기능을 작업하고있다.