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 以上でのみ使用可能であるため、可逆圧縮または透明度に対応した WebP 画像を Android Studio で作成するには、プロジェクトで 18 以上の minSdkVersion を宣言する必要があります。

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 ファイルを削除するか、または元の WebP ファイルを新しい PNG ファイルとともに保持するかを尋ねるダイアログが表示されます。元の WebP ファイルを削除する場合は [Yes]、PNG ファイルとともに保持する場合は [No] をクリックします。いずれかをクリックすると、直ちに画像が変換されます。