複数の画像をまとめて変換・リサイズする手順

画像を追加し、出力形式・画質・最大幅・透明部分の扱いをひととおり決めて「ファイルを処理」を押します。各ファイルはデコードされ、出力サイズのキャンバスに描画されてから選んだ形式で再エンコードされ、結果は kivtools-converted-images.zip という1つのZIPにまとまります。処理はすべてタブ内で完結し、画像がアップロードされることはありません。

バッチ全体で設定は1組だけです。ファイルごとに形式や幅を変えることはできず、1枚だけでもZIPとして届きます。出力欄の上にはファイル数・入力サイズ・出力サイズの合計が表示されます。

  1. 入力パネルに画像をドロップするか、ファイル選択で指定します。SVGを含む画像ファイルに対応し、1バッチにつき最大50ファイルです。
  2. 出力形式を選びます。初期値はWebPで、ほかにJPEGとPNGがあります。
  3. 画質を10〜100で指定します。初期値は86で、入力欄は自動で補正されます(空欄なら86、150なら100)。
  4. 最大幅をピクセルで指定します。0のままなら各画像は元の大きさのままで、高さは縦横比に従います。
  5. 透明部分の扱いを選びます。透明を保つか、隣の色で塗りつぶすかです。
  6. 「ファイルを処理」を押します。最後の画像まで処理が終わるとZIPがダウンロードされ、出力欄の上に数値が表示されます。

各設定が出力に何をするか

形式と画質

画質は10〜100の値としてブラウザーのエンコーダーに渡され、WebPとJPEGに効きます。PNGは可逆なのでこの設定でバイト数は変わりません。同じ1600x1200の写真をPNGで画質10と100で書き出したところ、どちらも840,050バイトで完全に一致しました。PNGでは最大幅だけが容量を減らす設定です。

入力値はそのまま渡さず補正します。画質0は壊れて見えるファイルを生み、空欄がまさにその状態になっていました。範囲外の幅も同様で、負の最大幅は0(元のサイズ)に直します。

最大幅と縦横比

制限は幅だけにかかり、高さは比率に従って整数ピクセルに丸められます。4000x100ピクセルのバナーは、既定の最大幅1920で1920x48、600で600x15になります。1600x1200の写真は同じ設定で600x450です。上限より狭い画像はそのままで、300x900の縦長画像は300x900のまま残ります。拡大はしません。

SVGは描画されるまでピクセルを持ちません。幅と高さが指定されていないファイルはブラウザーの既定値300x150でラスタライズされ、320x160と指定されたものはその寸法を保ちます。

透明部分

PNGとWebPの出力は透明を保てます。これが初期状態です。半分が透明なテスト画像を処理したところ、アルファチャンネルには完全に透明なピクセルが残っていました。塗りつぶしを選ぶと、そのピクセルは隣の色フィールドの色になります。#ff00aa を指定したところ、同じ画像の透明部分はその色で書き出されました。

JPEGにはアルファチャンネルがないため、透明を保つ設定でも出力は必ず塗りつぶされます。どの色になるかは色フィールドが決めます。これは形式の性質で、設定が残っているわけではありません。

出力に残るもの、ファイル名の扱い

出力はキャンバス上のピクセルを新しくエンコードしたものなので、元のメタデータは引き継がれません。EXIFを含むJPEGは、VP8X・ICCP・VP8だけを持つWebPとして書き出されました。アニメーションGIFは最初のフレームとしてデコードされるため、1つの入力から書き出される静止画は1枚だけです。

ZIPの中では、空白やファイル名に使えない文字はハイフンに置き換えられます。「две картинки.png」は「две-картинки.webp」として保存され、拡張子は選んだ出力形式に従います。同じ名前になる2つのファイルは上書きせず番号を付けます。shot.png という2枚は shot.webp と shot-2.webp になり、状態行に何件を改名したかが表示されます。

最近使ったツール: