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
310
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
240
2015年Android酒部忘年会LT / TechBooster C89 advertising
mstssk
0
260
アプリの通知をLollipop対応しよう / shibuya.apk 2015-05-22 LT
mstssk
2
2.6k
絵文字にまつわるエトセトラ / ABC2014w LT Emojis in Android
mstssk
1
480
Other Decks in Technology
See All in Technology
QAを早期に巻き込む”って どうやるの? モヤモヤから抜け出す実践知
moritamasami
2
180
ML Pipelineの開発と運用を OpenTelemetryで繋ぐ @ OpenTelemetry Meetup 2025-07
getty708
0
290
Step Functions First - サーバーレスアーキテクチャの新しいパラダイム
taikis
1
280
メモ整理が苦手な者による頑張らないObsidian活用術
optim
0
130
Recoil脱却の現状と挑戦
kirik
3
370
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
12
1.7k
P2P ではじめる WebRTC のつまづきどころ
tnoho
1
220
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
6
260
Semantic Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
2
400
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
3
930
Wasmで社内ツールを作って配布しよう
askua
0
130
Microsoft Defender XDRで疲弊しないためのインシデント対応
sophiakunii
3
400
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
43
7.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
RailsConf 2023
tenderlove
30
1.2k
KATA
mclloyd
30
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
We Have a Design System, Now What?
morganepeng
53
7.7k
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