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
250
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
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
200
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
140
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
570
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
140
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
330
AWSで推進するデータマネジメント
kawanago
0
1.1k
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
230
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
1.5k
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
310
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
560
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
140
Featured
See All Featured
Building an army of robots
kneath
306
46k
Producing Creativity
orderedlist
PRO
347
40k
How GitHub (no longer) Works
holman
315
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Thoughts on Productivity
jonyablonski
70
4.8k
Side Projects
sachag
455
43k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Fireside Chat
paigeccino
39
3.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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