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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
mstssk
May 29, 2017
Technology
330
0
Share
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
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
260
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
500
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
410
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
5
1.9k
NgRx SignalStore: The Power of Extensibility
rainerhahnekamp
0
230
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
410
2026年に相応しい 最先端プラグインホストの設計<del>と実装</del>
atsushieno
0
120
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
970
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
5
14k
Digitization部 紹介資料
sansan33
PRO
1
7.3k
暗黙知について一歩踏み込んで考える - 暗黙知の4タイプと暗黙考・暗黙動へ
masayamoriofficial
0
1.6k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
17
410k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
LLM とプロンプトエンジニアリング/チューターを定義する / LLMs and Prompt Engineering, and Defining Tutors
ks91
PRO
0
390
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
430
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
Navigating Weather and Climate Data
rabernat
0
160
YesSQL, Process and Tooling at Scale
rocio
174
15k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
520
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
490
How to make the Groovebox
asonas
2
2.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
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