バージョン4.0
使い方
「色のシミュレータ」は、さまざまな色覚特性を持つ人の色の見え方を体験するための、色覚シミュレーションツールです。デバイスのカメラの映像や、「写真」の画像ファイルをリアルタイムに変換し、それぞれの色覚タイプ(2 色覚)ではどのように色が見えるかを表示します。
バージョン 4.0 では、元の画像との色の違いを明るさで表示する「色差モード」と、画面上の色の名前を調べる「色名の表示」を追加しました。
基本的な使い方
デバイスのカメラを見たいものに向けると、スクリーンに映像が表示され、リアルタイムにシミュレーションを行います。「写真」の画像ファイルもシミュレーションできます。-
1.
色覚タイプを選択する。
画面の下の帯の左にある C・P・D・T のボタンで、シミュレーションする色覚タイプを選択します。選択したタイプの数(1〜4)に応じて、スクリーンが分かれて表示されます。 -
2.
強度を調整する。
目のボタンをタップして、シミュレーションの強度を変更します(初期値は 100%)。 -
3.
入力を切り替える。
リアカメラ、フロントカメラ、「写真」の画像ファイルを切り替えます。 -
4.
画像を保存する。
スクリーンに表示されている画像を、「写真」に保存します。
画面の見かた
- 色覚タイプの名前 各区画の上端の中央に、その区画でシミュレーションしている色覚タイプの名前を表示します。名前が区画の幅に入らないときは、すべての区画をいっしょに短い名前にし、それでも入らないときは文字を小さくします。
- ズーム倍率 右上に、現在のデジタルズームの倍率を表示します。
- 歯車 左上に、薄く表示します。タップすると、設定の画面を表示します。
- 下の帯 左から、色覚タイプのボタン(C・P・D・T)、強度ボタン(目)、入力の切り替えボタン、保存ボタンを配置しています。
- 最後に操作してから 10 秒が経過すると、下の帯・歯車・ラベルなどの操作部分が非表示になり、スクリーン全体がシミュレーション画像になります。画面を 1 回タップすると、操作部分が再び表示されます。デバイスを回転させたときも、操作部分が表示されます。
色覚タイプ(C・P・D・T)
- C は一般型色覚(元の映像)、P は 1 型 2 色覚、D は 2 型 2 色覚、T は 3 型 2 色覚です。「シミュレーション強度」が 100% のときは、それぞれの色覚タイプのうち、もっとも強度の 2 色覚の色の見え方を表示します。
- ボタンをタップすると、その色覚タイプの選択と解除を切り替えます。最後に残った 1 つは解除できません。
- ボタンを長押し(1.2 秒間)すると、ほかの選択がすべて解除され、そのタイプだけになります。
- 区画は、選択した順ではなく、いつも C・P・D・T の順に並びます。縦長の画面では 2 つなら上下、3 つなら 3 段、4 つなら 2×2 に並び、横長の画面では 2 つなら左右、3 つなら 3 列、4 つなら 2×2 に並びます。
- C だけを選択している間は、元の映像を表示します。
シミュレーション強度
-
目のボタンをタップすると、縦のスライダーが表示されます。上端が 100%(初期値)、下端が 0% です。
- 「シミュレーション強度」とは、それぞれの色覚タイプのうちもっとも強度の 2 色覚の色の見え方を 100%、元の画像を 0% として、その中間の画像を表示するための値です。異常 3 色覚(弱度の色覚異常)の色の見え方をシミュレーションするものではありません。
- 強度が 100% 以外のときは、目のボタンに数字(%)を表示します。
- C だけを選択している間は、目のボタンは使用できません。
入力の切り替え(カメラ・画像ファイル)
-
入力の切り替えボタンをタップすると、「リアカメラ」「フロントカメラ」「ファイル」の 3 つの選択肢が表示されます。使用できない選択肢は灰色になります。
- 「ファイル」を選択すると、「写真」の画像ファイルを選択する画面が表示されます。選択した画像を、シミュレーションします。画像の選択を取り消したときは、ズームと表示位置は変わりません。
- フロントカメラを使用しているときは、スクリーンに左右が反転した鏡像を表示します。
画像の保存
-
保存ボタンをタップすると、スクリーンに表示されている画像(区画をすべて含む)を、「写真」に保存します。保存するときは、画面が保存ボタンへ縮むように動き、音が鳴ります。音は設定で調整できます。
- 保存した画像(JPEG)の各区画の左上に色覚タイプの文字(C・P・D・T)、右上にシミュレーション強度(○○%)を描き込みます。設定の「保存画像に文字埋込」をオフにすると、文字を描き込みません。C だけを選択しているときと、強度が 100% のときは、強度を描き込みません。
- フロントカメラを使用しているときも、保存した画像は鏡像になりません。
- 保存した画像に、位置情報は付きません。
- 設定の「音量ボタンで保存」をオンにすると、デバイスの音量ボタンを押して保存できます。
拡大・縮小と移動
- スクリーン上で、2 本の指のピンチ(指を開く・閉じる)によって、拡大・縮小できます(最大 500%)。すべての区画がいっしょに拡大・縮小されます。拡大・縮小しても、画面の中心に見ている場所は変わりません。
- 「ファイル」を選択しているときは、1 本の指のドラッグで、画像を移動できます。カメラのときは移動できません。
- 画面をダブルタップすると、拡大と移動が元に戻り、操作部分が表示されます。
- デバイスを回転させると、ファイルのズームと移動は元に戻ります。カメラのズームは保たれます。
色名の表示(カラーカーソル)
画面上の場所を指定して、その場所の色の名前を調べられます。「色名の表示」をオンにすると、画面に円形のカーソルが表示されます。- オン・オフ 設定の「色名の表示」で切り替えます。また、画面の画像の上を 1 本の指で長押し(1.2 秒間)しても、オンとオフを切り替えられます。オンにしたときは、長押しした場所にカーソルが表示されます。初期値はオフです。
- 場所の指定 画面をタップすると、カーソルがその場所へ移動します。カーソルは画面に固定されているので、拡大・縮小や移動をしても動かず、カーソルの下の色が変わります。デバイスを回転させたとき、または画面をダブルタップしたときは、画面の中央へ戻ります。
- 表示される内容 カーソルの上(上に入らないときは下)に、色の名前を表示します。調べる色は、シミュレーション前の元の画像の色です。カーソルの円の内側の色を、Oklab 色空間で平均した値を使用します。
- 表示する項目 表示は最大 4 行で、各行に表示する項目を設定の「色名の表示」で選択します。選択できる項目は、系統色名(JIS)、慣用色名(JIS)、系統色名(ISCC-NBS)、慣用色名(TCCA)、CIELAB、Oklab、CIELUV、RGB、XYZ、xyY、Munsell、なし、です。初期値は、日本語の画面では「系統色名(JIS)」と「慣用色名(JIS)」の 2 行、英語の画面では「Systematic Color Name (ISCC-NBS)」と「Traditional Color Name (TCCA)」の 2 行です。
- 系統色名(JIS): JIS Z 8102 の系統色名です。マンセルの色相・明度・彩度で表した色を、規格が定める領域に当てて、基本色名に修飾語を付けた名前にします。
- 慣用色名(JIS): JIS Z 8102 の慣用色名のうち、マンセル値で定められている 267 色(公開資料では 269 色とされています)から、もっとも近い色の名前です。近い色が遠いときは、名前の後に「?」が付きます。
- 系統色名(ISCC-NBS): ISCC-NBS の系統色名(NBS Circular 553)です。マンセルの色相・明度・彩度で表した色を、領域に当てて名前にします。名前は、日本語の画面でも英語で表示します。
- 慣用色名(TCCA): NBS Research Paper RP1700 が、Textile Color Card Association(TCCA)の標準色票を測った色から選んだ名前のうち、もっとも近い色の名前です。基本の 13 語(red・pink など)は、ISCC-NBS の Level 1 の色を使用しています。名前は、日本語の画面でも英語で表示します。
- Munsell: マンセル値です。JIS Z 8721 の三属性による表示で、値はマンセル・リノテーション表をもとに求めています。
- Oklab: Oklab 色空間の L・a・b の値です。
色差モード
色差モードは、元の画像と、色覚タイプのシミュレーション後の画像で、色がどれだけ変わったかを明るさで表示するモードです。差がない場所は黒、差が上限以上の場所は白で、その間は差に応じた明るさになります。差は、Oklab 色空間での 2 つの色の距離です。従来の画面(型ごとにシミュレーション画像を並べる画面)を「色の見えモード」、このモードを「色差モード」と呼びます。- 切り替え方 次のどれでも切り替えられます(同じ向きのスワイプを繰り返すと、2 つのモードを行き来します)。
- 下の帯の上を、1 本の指で左右にスワイプする。
- スクリーンを、2 本の指で左右にスワイプする。
- 設定の「色差モード」をオン・オフする。
- 区画 色差モードでは、選択している色覚タイプに応じて、次のように区画が並びます。
- C と、もう 1 つのタイプ(X)を選択しているとき: 3 区画(元の画像・X のシミュレーション画像・C と X の色差)。
- X だけを選択しているとき: 2 区画(X のシミュレーション画像・C と X の色差)。
- C だけを選択しているとき: 2 区画(元の画像・色差)。元の画像との差は 0 なので、色差は真っ黒になります。
- 色覚タイプの選択 同時に選択できるのは 1 つまたは 2 つで、2 つのときは片方が必ず C です。別のタイプをタップすると、C 以外のタイプはそのタイプに替わります。長押しで、そのタイプだけにするのは色の見えモードと同じです。
-
色差の上限 色差モードでは、目のボタンが「色差の上限」の調整になります。縦のスライダーで、色差が白になる距離を 0.01〜0.19 の範囲(初期値は 0.10)で変更します。上端(0.19)は大きな差だけが白くなり、下端(0.01)は小さな差でも白くなります。既定の 0.10 以外のときは、現在の値が目のボタンに表示されます。スライダーの両端の絵は、左半分がシミュレーション前、右半分がシミュレーション後の色の組です。
- 色差モードでのシミュレーションの強度は、色差モードに入る前の値のままです。色の見えモードに戻ると、スライダーはまた強度の調整になります。
- 拡大・縮小、移動、色名の表示、保存は、色の見えモードと同じように使用できます。保存した画像では、色差の区画の左上に「Diff」と描き込みます(強度は描き込みません)。
設定
画面の左上の歯車をタップすると、設定の画面が表示されます。- 保存
- 保存画像に文字埋込: 色覚タイプと強度の文字を、保存した画像に描き込みます。初期値はオンです。
- 操作
- 音量ボタンで保存: デバイスの音量ボタンを押して保存します。初期値はオフです。iOS では、iOS 17.2 以降で使用できます。
- 色差モード: 色の見えモードと色差モードを切り替えます。初期値はオフです。切り替え方のスワイプも、ここに記載しています。
- 色名の表示
- 色名の表示: カラーカーソルと色名の表示を、オン・オフします。初期値はオフです。
- 1 行目〜4 行目: 色名の表示の各行に表示する項目を選択します。「色名の表示」がオフのときは選択できません。
- 音
- 保存の音: 保存するときの音を鳴らします。初期値はオンです。
- 音量: 保存の音の大きさです。デバイスの音量に対する割合で、最大でもデバイスの音量です。初期値は 100% です。
- 色空間
- 「自動」と「sRGB」から選択します。「自動」のときは、広い色域に対応しているデバイスで Display P3 で表示し、保存します。共有する画像を sRGB にそろえたいときは「sRGB」を選択します。デバイスの画面が sRGB だけに対応しているときは、選択できません。
- カメラの映像を P3 で取り込むのは、iOS だけです。
- その他
- リセット: すべての設定を初期値に戻します。
- マニュアル表示: このマニュアルを表示します。
- プライバシーポリシー: プライバシーポリシーを表示します。
- アプリケーション情報 アプリのバージョンとコピーライトを表示します。
読み上げ(VoiceOver・TalkBack)
- 色覚タイプのボタンは、「C 一般型色覚、選択中」のように、名前と選択の状態を読み上げます。長押しの代わりに、「この型だけにする」の操作を選択できます。
- 強度ボタンは「強度、○○%」と読み上げ、スライダーは上げる・下げる操作で値を変更できます。色差モードでは、強度の代わりに「色差の上限」を読み上げます。
- 画像には、拡大・縮小、移動(ファイルを選択しているとき)、移動の初期化、色名の表示の切り替えの操作があります。
- モードを切り替えたとき、現在のモードの名前を読み上げます。
トラブルシューティング
-
カメラが表示されない場合
カメラの使用を許可していない可能性があります。設定でカメラへのアクセスを許可してください。 -
保存ボタンをタップしても、「写真」に画像が保存されない場合
iOS では、「写真へのアクセスを求めています」のメッセージに「許可しない」と応答した可能性があります。その場合は、設定 > プライバシーとセキュリティ > 写真 > 「色のシミュレータ」で、写真への追加を許可してください(追加のみの許可でも保存できます)。Android 9 以前では、ストレージへのアクセスの許可が必要です。 -
画像ファイルを読み込めない場合、または保存に失敗した場合
アプリがメッセージで知らせます。別の画像で試すか、デバイスの空き容量と、写真への許可を確認してください。
その他
- 本アプリケーションソフトウェアは、浅田一憲(医学博士・メディアデザイン学博士)によって開発され、無償でリリースされています。
- 本アプリケーションで使用しているシミュレーションアルゴリズムは、下記の学術論文の提案手法に基づいており、それぞれの色覚タイプを持つ人のうちもっとも強度の、2 色覚者が見ているであろう色を、高速演算により擬似的に再現しています。
H. Brettel, F. Viénot, and J. D. Mollon: Computerized simulation of color appearance for dichromats, Journal of the Optical Society of America A, vol.14, no.10, pp.2647-2655 (Oct. 1997).
- 本アプリケーションで表示しているシミュレーション画像は、2 色覚者の色の見え方を特定の手法と条件下で予測したものであり、必ずしも正確とは限りません。また、色覚には個人差があります。
- 本アプリケーションで表示している色の名前は、特定の前提のもとで規格に基づいて計算したものであり、必ずしも正確とは限りません。また、使用するデバイスの画面やカメラの特性には、ばらつきがあります。
- 色差モードで表示する色の差は、シミュレーション画像と元の画像の色の距離を、特定の色空間と条件で計算したものであり、見え方の差の大きさを正確に表すものとは限りません。
- 本マニュアルで使用している「色覚異常」、「1 型」、「2 型」、「3 型」などの用語は、学術用語です。
- 理論の詳細は、サイトの「理論」のページに記載しています。
- Android 版と iPhone・iPad 版は、同じ動作をします(違いは、上に「iOS では」「iOS 17.2 以降」「Android 9 以前」と書いた所だけです)。
ライセンス
色のシミュレータは、次のオープンソースのソフトウェアとフォントを使用しています。ライセンスの全文は、この節の後半に掲載しています。使用している部品と著作権表示
- Android Jetpack(AndroidX・Compose・CameraX): Copyright The Android Open Source Project(Apache-2.0)
- Kotlin 標準ライブラリ、kotlinx(coroutines・serialization・atomicfu): Copyright JetBrains s.r.o. and Kotlin Programming Language contributors(Apache-2.0)
- JetBrains annotations: Copyright JetBrains s.r.o.(Apache-2.0)
- Dagger: Copyright Google, Inc.(Apache-2.0)
- AutoValue annotations: Copyright (C) 2012 Google, Inc.(Apache-2.0)
- JSpecify: Copyright The JSpecify Authors(Apache-2.0)
- Jakarta Inject: Copyright Eclipse Foundation and the respective authors(Apache-2.0)
- javax.inject(JSR-330)、Guava ListenableFuture: Apache-2.0
- libyuv(CameraX に含まれる): Copyright 2011 The LibYuv Project Authors. All rights reserved. ライセンスは BSD-3-Clause
- フォント Roboto Bold(ラテン文字の一部): Copyright 2011 Google Inc. All Rights Reserved.(Apache-2.0)
色名のデータの出典: NBS Circular 553(ISCC-NBS)、NBS Special Publication 440(ISCC-NBS の領域の図)、Kelly, J. Res. NBS 61(5), 1958(ISCC-NBS の色名のブロックの中心)、NBS Research Paper RP1700(Reimann, Judd and Keegan, 1946。TCCA の標準色票)。いずれも米国標準局(NBS)の刊行物です。
Apache-2.0、BSD-3-Clause の全文は次のとおりです。
Apache License, Version 2.0
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
libyuv(BSD-3-Clause)
Copyright 2011 The LibYuv Project Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Google nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
open image
open image
open image
open image
open image
open image
open image
open image
open image
open image