The Android Developer Challenge is back! Submit your idea before December 2.

WebP 画像の作成

WebP は、Google が開発した画像ファイル形式で、JPEG のような非可逆圧縮に加え PNG のような透明度設定も可能なうえ、JPEG や PNG よりも圧縮率が優れています。非可逆圧縮の WebP 画像は Android 4.0(API レベル 14)以降で、可逆圧縮と透明度に対応した WebP 画像は Android 4.3(API レベル 18)以降でサポートされています。このページでは、画像を WebP 形式に変換する方法と、WebP 画像を PNG 形式に変換する方法を説明します。

注: 可逆圧縮と透明度に対応した WebP 画像は Android 4.3 以降でのみ使用可能なため、Android Studio を使用して可逆圧縮または透明度設定した WebP 画像を作成するには、プロジェクトで minSdkVersion を 18 以上に設定する必要があります。

WebP 画像形式の詳細については、WebP のサイトをご覧ください。ダウンロード速度を向上させるための画像形式の選択については、画像のダウンロード サイズの縮小をご覧ください。

画像の WebP 変換

Android Studio では、PNG、JPG、BMP、静的 GIF の画像を WebP 形式に変換できます。画像ごとに変換することも、複数の画像をフォルダごと変換することも可能です。画像、または画像のフォルダを変換するには、次の手順を実行します。

  1. 画像ファイル、または複数の画像ファイルを含むフォルダを右クリックして、[Convert to WebP] を選択します。
  2. [Converting Images to WebP] ダイアログが開きます。デフォルト設定は、対象モジュールの minSdkVersion の値によって異なります。

    図 1. [Converting Images to WebP] ダイアログ

  3. 非可逆エンコードまたは可逆エンコードのいずれかを選択します。可逆エンコードは、minSdkVersion が 18 以上に設定されている場合にのみ使用できます。非可逆エンコードを選択した場合は、エンコード品質を設定し、保存する前に変換後の各画像のプレビューを表示するかどうかを指定します。

    エンコードした場合に元のサイズより大きくなるファイルや、透明度が設定された(アルファ チャンネルを含む)ファイルの変換をスキップするよう指定することもできます。Android Studio では、minSdkVersion が 18 以上に設定されている場合にのみ透明度を設定した WebP 画像を作成できるため、minSdkVersion が 18 未満の場合は [Skip images with transparency/alpha channel] チェックボックスが自動的にオンになります。

    注: 9-patch ファイルは WebP イメージに変換できません。変換ツールでは、9-patch 画像は自動的にスキップされます。

  4. [OK] をクリックして変換を開始します。複数の画像を変換する場合も、1 回の変換と見なされます。そのため、元に戻す場合は、1 回の操作でここで変換したすべての画像が元に戻ります。

    前の手順で可逆変換を選択した場合は、直ちに変換が実行されます。変換後の画像は、元の画像と同じ場所に保存されます。非可逆変換を選択した場合は、次の手順に進みます。

  5. 非可逆変換を選択し、保存前に各変換済み画像のプレビューを表示するよう指定した場合は、変換中に各画像が表示されるため、そこで変換結果を確認できます(プレビューの表示を指定しなかった場合は、この手順はスキップされ、画像は直ちに変換されます)。プレビューが表示された段階で、下記の説明のように、各画像の品質設定を個別に調整できます。

    図 2. JPG 形式から WebP 形式への 75% 品質での変換

    図 2 には、左側に元の JPG 画像、右側に非可逆エンコードされた WebP 画像が示されています。ダイアログには、元の画像と変換後の画像のファイルサイズが表示されています。スライダーを左右にドラッグして品質設定を変更しながら、エンコード後の画像とファイルサイズへの影響を確認できます。

    中央の領域には、元の画像とエンコード後の画像間で異なるピクセルが表示されます。図 2 では、品質が 75% に設定されているため、2 つの画像にほとんど違いはありません。図 3 に、品質を 0% に設定してエンコードした同じ画像を示します。

    図 3. JPG 形式から WebP 形式への 0% 品質での変換

    注: minSdkVersion が 18 以上に設定されている状態で品質を 100% に設定すると、自動的に可逆エンコードに切り替わります。

    レビュー対象の各画像について、品質設定を調整します。複数の画像を変換している場合は、[Next] をクリックして次の画像に進みます。

  6. [Finish] をクリックします。変換後の画像は、元の画像と同じ場所に保存されます。

WebP 画像の PNG への変換

プロジェクトの WebP 画像を別の目的(たとえば、WebP をサポートしていないブラウザでも画像を適切に表示する必要があるウェブページなど)に使用する場合、Android Studio を使用して WebP 画像を PNG 形式に変換できます。WebP 画像を PNG に変換するには、次の手順を実行します。

  1. Android Studio で WebP 画像を右クリックし、[Convert to PNG] をクリックします。
  2. 画像を PNG に変換して元の WebP ファイルを削除するか、または新しい PNG ファイルとともに元の WebP ファイルを保持するか、を尋ねるダイアログが表示されます。元の WEBP ファイルを削除する場合は [Yes] を、PNG ファイルとともに保持する場合は [No] をクリックします。その後、画像は直ちに変換されます。