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
2017/05/29 CA.apk I/O報告会 LT
Search
mstssk
May 29, 2017
Technology
0
330
2017/05/29 CA.apk I/O報告会 LT
「CA.apk #3 - Google I/O 2017 報告会」でLTしたスライド
https://cyberagent.connpass.com/event/55405/
mstssk
May 29, 2017
Tweet
Share
More Decks by mstssk
See All by mstssk
CircleCIの実行時間を3分の2くらいにした / CircleCI meetup LT 2019-08-23
mstssk
2
1.4k
2016年Android酒部忘年会LT / TechBooster C91 advertising
mstssk
0
250
2015年Android酒部忘年会LT / TechBooster C89 advertising
mstssk
0
270
アプリの通知をLollipop対応しよう / shibuya.apk 2015-05-22 LT
mstssk
2
2.7k
絵文字にまつわるエトセトラ / ABC2014w LT Emojis in Android
mstssk
1
490
Other Decks in Technology
See All in Technology
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
360
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
410
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
430
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.6k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
200
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
210
使いにくいの壁を突破する
sansantech
PRO
1
120
Cosmos World Foundation Model Platform for Physical AI
takmin
0
200
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
200
Become a Pro
speakerdeck
PRO
31
5.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
200
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
Accessibility Awareness
sabderemane
0
49
Statistics for Hackers
jakevdp
799
230k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
77
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Writing Fast Ruby
sferik
630
62k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
130
Transcript
About “Understanding color” mstssk a.k.a りんご (株式会社トップゲート)
Copyright © 2016 TOPGATE, Inc. Google I/O 2017 フィードバックセミナー https://topgate.connpass.com/event/56192/
Studio Geeks 2017/06/06 https://goo.gl/WUUJ5f
Understanding color Romain Guy, Android Graphics team https://events.google.com/io/schedule/?sid=e20f886e-8271-49f7-b695-72eb2995417e https://youtu.be/r8NeG0wmFXM
色とは という話が20分続く https://ja.wikipedia.org/wiki/可視光線
Roman 「AnDev 360で同じこと話したら ”数学とか数式とか多すぎ”って 言われちゃった…」
Roman 「代わりに 今回は物理学多めにするね!」
色とは 色相 輝度 彩度 ※ただし、あくまで そう人間が知覚してるだけ
光とは 波と粒子の二重性を持つ 光子 波動性を持った 電磁波 ガンマ線 X線 紫外線 可視光線 赤外線
マイクロ波 電波 目が感じ取るのは可視光線
目の錐体細胞が三原色に対応する可視光線のスペクトルを感じ取る https://ja.wikipedia.org/wiki/色
色の知覚 ※実際には目で感じた信号を 更に脳が後処理で補正する。 光源スペクトル × 物体の表面の色スペクトル × 錐体細胞の感じるスペクトル ↓ 知覚する色
色モデル • RGBの他にCMYKやL*a*bがある • Android OではRGBをfloatで扱えるAPIが追加 色をfloatで扱うほうがより融通が効く ◦ #ff436d ◦
255,67,109 ◦ 1.0,0.26,0.43 ←New!
色空間とは 三原色 白色点 ガンマ値 色モデルを”色”に紐付ける
色空間と色度図 https://commons.wikimedia.org/wiki/File:Colorspace.png • 再背面の馬蹄形が人間が見える色範囲 • だいたいRGBと聞いて考えるのはsRGB • 別の色空間では色を表現する範囲も別 sRGBとAdobe RGBの緑0.0,1.0,0.0は
全く別の緑色になる • デバイスにより色空間が違う
Android 1.0以来の問題点 • Androidでは”色”を取り扱っていなかった • Bitmapクラスは色空間を扱えなかった… • intでしか色を扱えない
Roman 「クレイジーな新APIを紹介するぜ」 本当にこう言ってる
Color Management: Android O での”色” • Adobe RGBなどより広域な色域のディスプレイに対応 • より広い色空間を使うフラグをマニフェストに追加
<activity android:colorMode="wideColorGamut" /> ◦ Extended sRGBというsRGBの7.5倍の独自色空間を使う ◦ かなりリソースを食うので要注意 • 16ビットPNGやカラープロファイルのサポート • res/*-widecg リソース区分追加 (wide color gamut) • 開発者オプションにsRGBモード機能追加 https://developer.android.com/preview/api-overview.html#cm
Color Management: Android O での”色” • android.graphics.Colorクラスをインスタンス化可能に ※これまではstaticメソッドを持つだけのユーティリティだった ◦ Color
c = Color.valueOf(1.0, 1.0, 1.0, 1.0, colorSpace); ◦ 色空間同士の色の変換処理 ◦ Bitmapにも色空間のAPIが増えている • Colorインスタンスをlongで代わりに扱う手段 ◦ 赤(16bits), 緑(16bits), 青(16bits), Alpha(10bits), 色空間(6bits) ◦ @ColorLong アノテーション • セッション中では色空間を考慮してBitmapを扱うテクニックを紹介 https://developer.android.com/reference/android/graphics/Color.html
DON’T PANIC 色々機能は増えたが、どのように描画されるかというプロセスに介入できるわけでは ない。 以下の事だけ気をつけておこう。 • ディスプレイをキャリブレーションしよう • sRGBのディスプレイで適切に表示されることを確認しよう •
画像ファイルにカラープロファイルが入っていることを確認しよう
Understanding color Romain Guy, Android Graphics team https://events.google.com/io/schedule/?sid=e20f886e-8271-49f7-b695-72eb2995417e https://youtu.be/r8NeG0wmFXM