← 事務の道具箱画像圧縮ツール
すべてブラウザ内で処理・サーバーへのアップロードなし

変更履歴

このファイルには、リリースごとの変更内容を新しい順に記録します。

バージョン番号は メジャー.マイナー.パッチ の形式です。

  • メジャー — 使い方が変わる、これまでの操作が通用しなくなるような大きな変更
  • マイナー — 機能の追加
  • パッチ — 不具合の修正、表示の調整

package.jsonversion が唯一の出所で、画面フッターにはその値が表示されます。 リリース時は package.json を書き換えてから、このファイルに項目を追加してください。


v0.4.1 — 2026-08-08

変更

  • ポータルへ戻るリンク — ヘッダーのツール名の上に「← 事務の道具箱」を付けました。 他のツール(PDFツールキット・単位換算・割り勘)へは、 https://xs218295.xsrv.jp/portal/ からたどれます。

v0.4.0 — 2026-08-08

追加

  • 更新履歴ページ — 画面フッターのバージョン番号の隣に「更新履歴」のリンクを付けました。 リンク先(/changelog/)は、このファイル(CHANGELOG.md)をビルド時に読み込んで 表示しています。履歴の書き場所は1か所のままです。 マークダウンの変換はビルド時にだけ動くため、利用者が読み込むJSは増えません。

v0.3.0 — 2026-08-08

圧縮処理を Web Worker へ移した内部改修です。画面・操作方法・圧縮結果は変わりません (同じ計算を別のスレッドで実行しています)。

変更

  • 圧縮を Web Worker で実行 — これまでは画面の描画やクリック処理と同じスレッドで 圧縮していたため、処理中は操作を受け付けられませんでした。別スレッドへ移したことで、 圧縮中もスライダーやボタンが普通に動きます。 ワーカーには DOM が無いため、描画は OffscreenCanvas で行います。
  • 複数枚の並列処理 — 端末のコア数に応じて最大4枚を同時に処理します (従来は1枚ずつの直列処理)。
  • 非対応ブラウザへの自動フォールバックWorker または OffscreenCanvas が 使えない場合、ワーカーの読み込みに失敗した場合は、従来どおりメインスレッドで 1枚ずつ処理します。どちらで動いているかはトップページの「動作環境」に表示されます。
  • 進捗表示を「処理を開始した枚数」から「完了した枚数」に変更しました (並列処理では「何枚目」に意味がなくなったため)。

内部構成

lib/image-utils.ts に混在していた処理を、役割ごとに分けました。

ファイル 役割
lib/image-utils.ts 型と、画面側で使う小物(容量表示・ファイル名・ダウンロード)
lib/compress-core.ts 実際のピクセル処理。ワーカーとメインスレッドの両方で動く
lib/compress.worker.ts ワーカーの入口
lib/compressor.ts ワーカーの管理と、非対応時の振り分け

v0.2.0 — 2026-08-08

追加

  • 画質プリセット — 軽さ優先(60) / バランス(80) / 画質優先(92) をワンクリックで選べるボタン。 従来のスライダーも残してあり、細かい調整に使えます。
  • 圧縮前後の比較プレビュー — 一覧の「比較」ボタンで、境界を左右に動かしながら 元画像と圧縮後を重ねて見比べられます。透過部分が分かるよう背景は市松模様です。
  • 画像の回転 — 一覧の ↺ / ↻ で画像ごとに90°ずつ回転できます。 回転はリサイズより先に適用されるため、「長辺の上限」は回転後の向きで判定されます。
  • ZIPを使わない一括保存 — 「個別にすべて保存」で、1枚ずつそのままダウンロードします。 ZIPでの一括ダウンロードも従来どおり使えます。
  • 元画像の寸法表示 — 画像を選んだ直後に縦横px(例 3000×2000)を表示します。 圧縮の完了を待ちません。
  • 出力ファイル名に -compressed を付与写真.jpg写真-compressed.jpg。 元ファイルと取り違えないようにするためです。
  • 動作環境の案内 — 対応ブラウザとその制限をトップページに掲載しました。
  • バージョン表示 — 画面フッターに現在のバージョンを表示します。

変更

  • 再圧縮の範囲を最小限に — 従来は設定を変えるたびに全画像を圧縮し直していましたが、 設定と回転の組み合わせを目印にして、内容が変わったものだけを処理するようにしました。 1枚だけ回転した場合、再圧縮されるのもその1枚だけです。
  • 進捗表示 — 「圧縮中…」に処理中の枚数(2/5)を添えるようにしました。
  • 設定変更の直後、まだ再圧縮が終わっていない画像は保存の対象から外れます。 古い設定の結果を誤って保存してしまうのを防ぐためです。

修正

  • 大きなファイルの保存が始まらないことがある問題 — ダウンロード用のURLを クリック直後に解放していたため、保存が始まる前に無効化される場合がありました。 解放を遅らせて修正しています(ZIPなど大きいファイルで起きやすい問題でした)。
  • 比較プレビューで回転した画像の位置がずれる問題 — Tailwind の初期スタイル (img { max-width: 100% })が回転前の幅を切り詰めていたため、 元画像と圧縮後がぴったり重なりませんでした。

v0.1.0 — 2026-08-08

初回リリース。

追加

  • 複数画像の一括圧縮(ドラッグ&ドロップ / ファイル選択)
  • 画質スライダー(30〜100)
  • リサイズ(長辺 800〜3840px の上限指定)
  • 形式変換(元の形式を維持 / JPEG / PNG / WebP)
  • ZIPでの一括ダウンロード、1枚ずつの保存
  • 圧縮前後の容量と削減率の表示
  • 大きく縮小する際の段階的リサイズ(ジャギー抑制)
  • スマートフォン写真の Exif 回転への対応
  • 静的書き出し(npm run buildout/)によるレンタルサーバーへの設置対応