PNGにtRNSチャンクを追加する

設定

透過色選択
手動設定用透過色 赤/グレースケール
色が使用されていないことの検証
出力形式

変換

この枠の中にファイルをドロップするか、ファイルを選択すると解析を開始します。

解析結果

ファイル名-
状態-
色タイプ-
ビット深度-
処理を行うか-
選択色-
選択色が有効か-

処理結果のファイルをダウンロード


解説

概要

これは、普通のPNGをアップロードするとなぜか勝手にJPEGになってしまい劣化してしまうが、 透過情報がついたPNGをアップロードするとJPEGにされず助かる、 という謎仕様のサービスに画像をアップロードするときに便利かもしれないツールです。

PNGファイルを指定すると、画像データを見て画像に使用されていない色を透過色として tRNSチャンクに書き込むことで、画像に影響を与えないようにしつつ大切な画像を謎仕様のサービスから守ります。 また、パレット形式のPNG画像の場合は、tRNSチャンクで透明度を指定することができるので、 ここで255(不透明)を指定することで、画像に影響を与えないようにしつつ大切な画像を謎仕様のサービスから守ります。

表現できる全ての色が使われてしまっており、かつパレット形式でない場合は、 残念ながら画像の一部を透明にせずに有効なtRNSチャンクを加える事ができません。 例えば、1ビットのグレースケール画像のときは、パレット形式に変換してからこのツールで処理をするといいでしょう。 Windowsの場合は、例えばJTrimで変換できます。

設定項目

透過色選択
透過色として書き込む色の選択方法を設定します。
自動選択
透過色として書き込む色を自動で選択します。 「色が使用されていないことの検証」が「行う」のときは最初に見つかった使用されていない色、 「行わない」のときはランダムになります。
手動設定
透過色として「手動設定用透過色」で指定した色を書き込みます。
手動設定用透過色
「透過色選択」が「手動設定」のときに透過色として書き込む色を設定します。
赤/グレースケール
RGB画像用の赤成分、またはグレースケール画像用の明るさをを設定します。
RGB画像用の緑成分を設定します。グレースケール画像では無視されます。
RGB画像用の青成分を設定します。グレースケール画像では無視されます。
色が使用されていないことの検証
透過色として書き込む色が画像で使用されていないことの確認を行います。 なお、画像のロードはcanvasを用いて行うため、ビット深度が8ビット以外の場合は正しく確認できない可能性があり、 16ビットの場合は今のところ確認には非対応になっています。
行う
確認を行います。大きい画像の時は数秒かかることがあります。
行わない
確認を行いません。
出力形式
ダウンロードさせるファイルの形式を設定します。
PNG
処理結果の画像をそのままダウンロードします。
ZIP
処理結果を無圧縮ZIPにしてダウンロードします。 ファイル名はUTF-8でエンコードされ、ひらがなや漢字などのマルチバイト文字は未対応のツールで解凍すると文字化けすることがあります。 aタグのdownload属性が効かない環境でファイル名を維持したい場合に有効です。 また、ファイルの更新日時もある程度(ZIPの仕様上の精度で)維持できるかもしれません。

解析結果

ファイル名
処理対象のファイル名です。
状態
ファイル読み込みの状態です。エラーが無い場合は「有効」と表示されます。
色タイプ
読み込んだファイルの色タイプです。
ビット深度
読み込んだファイルのビット深度です。そのビット深度で有効な色の範囲も表示されます。
処理を行うか
読み込んだファイルに対してtRNSチャンクを付加する処理を行うかどうかです。 「行わない」系の場合は、処理結果は入力のファイルと同じになります。(出力形式の設定は反映されます)
選択色
透過色として書き込まれる色です。
選択色が有効か
透過色として書き込まれる色が画像で使用されているかどうかの情報です。

免責

更新履歴

2016年2月6日
公開。
2016年2月11日
Blob URL Schemeが有効である環境において無効なファイルが生成される不都合を修正。
2016年2月17日
ZIPでの出力に対応。
2016年2月25日
Blob URL Schemeが無効である環境において2回目以降のファイル読み込みに失敗する不都合を修正。
2016年3月1日
一部の環境において2回目以降のファイル読み込みができない不都合を修正。

戻る