画像をPNG・JPEG・WEBPなどに変換する方法
Base64でエンコードした画像データを入力し、PNG、JPEG、WEBPなどの変換先を選んで実行します。変換先を省略した場合はPNGになり、成功時には変換後データと形式、出力バイト数が返されます。
画像形式を変換する前に
画像データを、PNGやJPEGなど別の画像形式へ変換したいときに使えるツールです。入力する画像データはBase64でエンコードされた画像バイトとして扱われ、変換先を指定しない場合はPNGが選ばれます。画像形式を変える前に、用途に合う出力形式と品質設定を決めておくと操作しやすくなります。
画像を別形式へ変換する手順
-
変換元の画像を、Base64でエンコードされた画像データとして用意します。画像データを指定しない場合は変換されず、失敗として返されるため、入力が空になっていないか確認してください。
-
変換先の形式を選びます。指定できるのはPNG、JPEG、WEBP、GIF、BMP、TIFFです。形式名は大文字と小文字を区別せず、JPGを指定した場合はJPEGとして扱われます。変換先を省略するとPNGになります。
-
JPEGまたはWEBPへ変換する場合は、必要に応じて品質の値を指定します。指定しない場合の既定値は90です。この値はJPEGとWEBPのエンコーダーに渡されますが、PNG、GIF、BMP、TIFFには渡されません。
-
変換を実行し、返された結果を確認します。JPEGを選び、元画像がRGBAモードまたはパレットモードの場合は、処理時にRGBへ変換されます。指定した変換先が対応形式に含まれていない場合は、実行結果が失敗になります。
返された結果の見方
成功すると、変換後の画像データに加えて、選択した出力形式と出力バイト数の情報が返されます。まず出力形式が希望どおりかを確認し、その後に返された画像データを保存や後続処理へ渡してください。出力バイト数は変換後データの大きさを確認するための情報です。
画像を開く、デコードする、変換する、保存するといった処理で問題が起きた場合も、結果は成功ではなく失敗として返されます。また、Pillowが利用できない環境では、Pillowがインストールされていないことを示す失敗結果になります。したがって、入力が画像として解釈できることと、必要な処理環境が利用できることを確認してから結果を扱う必要があります。
使用例
RGBAモードの画像を、JPEGとして扱える形に変換したい場面です。
スマートフォン画像をBase64でエンコードした画像データとして入力し、変換先にJPEG、品質に80を指定して実行します。
成功時は、変換後の画像データ、選択した出力形式としてのJPEG、出力バイト数の情報が返されます。
制限事項
- 対応する変換先はPNG、JPEG、WEBP、GIF、BMP、TIFFです。品質値はJPEGとWEBPにのみ渡され、具体的な品質の範囲や画質の保証は示されていません。
よくある間違い
- 画像データを指定しないまま実行すると失敗になります。Base64でエンコードされた画像バイトが入力されているかを確認してから、もう一度実行してください。
よくある質問
変換先を省略すると、どの形式になりますか?
変換先を指定しない場合はPNGになります。指定できる形式はPNG、JPEG、WEBP、GIF、BMP、TIFFで、JPGはJPEGとして扱われます。
品質の設定は、すべての形式に適用されますか?
品質の値はJPEGまたはWEBPへ変換するときに使われます。指定しない場合の既定値は90で、PNG、GIF、BMP、TIFFの変換には渡されません。
変換に失敗するのはどのような場合ですか?
画像データが指定されていない場合、対応外の変換先を指定した場合、画像の読み込みや保存に失敗した場合は、変換されず失敗になります。Pillowが利用できない場合も失敗結果になります。