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
300
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.3k
2016年Android酒部忘年会LT / TechBooster C91 advertising
mstssk
0
230
2015年Android酒部忘年会LT / TechBooster C89 advertising
mstssk
0
240
アプリの通知をLollipop対応しよう / shibuya.apk 2015-05-22 LT
mstssk
2
2.6k
絵文字にまつわるエトセトラ / ABC2014w LT Emojis in Android
mstssk
1
460
Other Decks in Technology
See All in Technology
Grafanaのvariables機能について
tiina
0
120
GDG Tokyo 生成 AI 論文をわいわい読む会
enakai00
0
260
論文紹介 ”Long-Context LLMs Meet RAG: Overcoming Challenges for Long Inputs in RAG” @GDG Tokyo
shukob
0
250
Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採用されているワケ~ #burikaigi #burikaigi_h
kongmingstrap
4
1.7k
reinvent2024を起点に振り返るサーバーレスアップデート
mihonda
1
180
生成AIを活用した機能を、顧客に提供するまでに乗り越えた『4つの壁』
toshiblues
1
180
HCP Terraformで実現するPlatform Engineering/nikkei-tech-talk-29
nikkei_engineer_recruiting
0
210
AWSエンジニアに捧ぐLangChainの歩き方
tsukuboshi
0
130
トレードオフスライダーにおける品質について考えてみた
suzuki_tada
3
150
“自分”を大切に、フラットに。キャリアチェンジしてからの一年 三ヶ月で見えたもの。
maimyyym
0
230
SREとしてスタッフエンジニアを目指す / SRE Kaigi 2025
tjun
15
5.4k
大学教員が押さえておくべき生成 AI の基礎と活用例〜より効率的な教育のために〜
soh9834
1
180
Featured
See All Featured
It's Worth the Effort
3n
184
28k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
GraphQLとの向き合い方2022年版
quramy
44
13k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Gamification - CAS2011
davidbonilla
80
5.1k
Visualization
eitanlees
146
15k
RailsConf 2023
tenderlove
29
980
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