Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
KMM Colorpicker App
Search
ChungKyu Yu
January 16, 2024
Technology
0
37
KMM Colorpicker App
KMM 을 활용한 대표 컬러 찾기 프로젝트
LinkedIn :
https://www.linkedin.com/in/yuskyblue/
ChungKyu Yu
January 16, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.5k
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
190
Agile Leadership Summit Keynote 2026
m_seki
1
630
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
Greatest Disaster Hits in Web Performance
guaca
0
260
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
420
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
130
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
460
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
630
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
140
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
BBQ
matthewcrist
89
10k
Google's AI Overviews - The New Search
badams
0
910
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
New Earth Scene 8
popppiees
1
1.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
For a Future-Friendly Web
brad_frost
182
10k
Transcript
Kotlin Multi Platform Project : Color Picker [Blue Star] 옥수환
유청규
시연
Table of Contents Blue Star 1. 주제 선정 2. 참고
자료 3. 진행 과정 4. 종료 후기
주제선정
옥수환 - 주어진 이미지에서 대표 색상을 추출하고 싶다. 유청규 -
KMM 으로 간단하게 이미지를 처리하는 앱을 만들어 보고 싶다. 주제 선정 Blue Star
참고자료
참고 자료 Blue Star [XML] [Compose]
참고 자료 Blue Star
진행과정
진행 과정 Blue Star [옥수환] [유청규] XML + Compose 적용
후 -> KMP 좌표 값 색상 추출 적용 주어진 이미지에서 대표 컬러 구하는 Usecase 구현
진행과정 이미지 가져오기
진행 과정 - 이미지 가져오기 Blue Star commomMain (App Screen)
Android iOS 공통적인 뷰를 가지고 있으면서 Photo Picker 처럼 Dependency 있는 부분 각각 구현
진행 과정 - 이미지 가져오기 Blue Star Comm (Get Dominant
Color) Android iOS [image URL Format] Photo 형식을 URL형식으로 가져옴
진행과정 이미지 프로세싱
진행 과정 - 이미지 프로세싱 Blue Star [Image URL] URL
형식의 이미지를 Decode 하여 원하는 이미지 객체인 BSImage로 반환 [Use Case decode] BS Image [Image Object]
진행 과정 - 이미지 프로세싱 Blue Star [CommomMain] [androidMain] [iosMain]
진행 과정 - 이미지 프로세싱 Blue Star Android 예시 any
로 객체로 받아 디코딩 하여 원하는 이미지 객체 반환
진행과정 대표값 찾기
진행 과정 - 대표값 찾기 Blue Star Commommain (Get Dominant
Color) Android iOS
진행 과정 - 대표값 찾기 Blue Star CommomMain (Get Dominant
Color) Android iOS X Y X, Y를 돌면서 회색조 판단 Map 에 GrayScale 이미지 제외한 색깔을 Counting
진행 과정 - 대표값 찾기 Blue Star CommomMain (Get Dominant
Color) Android iOS
진행 과정 - 대표값 찾기 Blue Star CommomMain (Get Dominant
Color) Android iOS Most Common Color Value 산출
진행 과정 - 대표값 찾기 Blue Star commomMain (App Screen)
Android iOS
진행 과정 - 대표값 찾기 Blue Star commomMain (App Screen)
Android iOS 대표값 각 OS 별 삽입
진행과정 이미지 좌표 값 출력
진행 과정 - 이미지 좌표 값 출력 Blue Star Image
dominant Color Color Value [App Screen] image의 임의에 지점을 클릭
진행 과정 - 이미지 좌표 값 출력 Blue Star Image
dominant Color Color Value [App Screen] offset 좌표 값 추출 및 이미지 디코드 BSImage Color Value
진행 과정 - 이미지 좌표 값 출력 Blue Star Image
dominant Color Color Value [App Screen] BSImage Color Value CommomMain (GetColorByPos itionUseCase) 이미지 / 좌표값 / 비율
진행 과정 - 이미지 좌표 값 출력 Blue Star Image
dominant Color Color Value [App Screen] BSImage (255,165,0) CommomMain (GetColorByPos itionUseCase) 대표값 다시 적용 ex) orange -> purple
진행 과정 - 이미지 좌표 값 출력 Blue Star Image
dominant Color Color Value [App Screen] BSImage (160,32,240) CommomMain (GetColorByPos itionUseCase) 대표값 다시 적용 ex) orange -> purple
종료후기
종료 후기 Blue Star [옥수환] [유청규] KMP 는 유즈케이스에 대해
전반적인 설계 및 OS Dependency 생기지 않도록 만드는 것이 중요하다 KMM으로 프로젝트 진행시 코틀린으로 최대한 공통로직을 작성하고, 특수한 상황을 제외하고는 expect/actual을 통한 플랫폼 분기 구현은 최소화하는 게 좋을 것 같다.