画像に透明度を上げたピクセルを作る
解説
概要
これは、普通のPNGをアップロードするとなぜか勝手にJPEGになってしまい劣化してしまうが、
透明度が0でないピクセルがあるPNGをアップロードするとJPEGにされず助かる、
という謎仕様のサービスに画像をアップロードするときに便利かもしれないツールです。
画像ファイルを指定すると、適当なピクセルの透明度を微妙に上げる事で、
画像になるべく影響を与えないようにしつつ大切な画像を謎仕様のサービスから守ります。
また、処理前にアルファチャンネルを背景色と合成して消す処理を行い、
背景の透過を解除できないジェネレータで生成した画像などを見栄え良くSNSなどに投稿できるようにする機能もあります。
画像は一旦HTMLのcanvasを用いて読み込み、処理をするため、入力の対応形式はブラウザに依存します。
また、出力はアルファチャンネル付きPNGファイルになるはずです。
設定項目
基本機能設定
- 透明度を上げたピクセルを作る位置
- 透明度を上げるピクセルの位置を選択します。
- 左上
- 左上の1ピクセルの透明度を上げます。
- 右上
- 右上の1ピクセルの透明度を上げます。
- 左下
- 左下の1ピクセルの透明度を上げます。
- 右下
- 右下の1ピクセルの透明度を上げます。
- ランダム
- ランダムに選択した指定した数のピクセルの透明度を上げます。
- 元から不透明度が最大でないピクセルの不透明度
- 元から透明度が上げてあるピクセルを変更するかを選択します。
- 変える
- 透明度が上がっているピクセルでも、不透明度を設定した値にします。
- 変えない
- 透明度が上がっているピクセルは不透明度を変更しません。
- 設定する不透明度の値
- 対象のピクセルに設定する不透明度の値を設定します。0~255の整数が設定でき、大きいほど不透明です。
255は完全に不透明なので、謎仕様に対する防御に使用することができません。
- 出力形式
- ダウンロードさせるファイルの形式を設定します。
- PNG
- 処理結果の画像をそのままダウンロードします。
- ZIP
- 処理結果を無圧縮ZIPにしてダウンロードします。
ファイル名はUTF-8でエンコードされ、ひらがなや漢字などのマルチバイト文字は未対応のツールで解凍すると文字化けすることがあります。
aタグのdownload属性が効かない環境でファイル名を維持したい場合に有効です。
また、ファイルの更新日時もある程度(ZIPの仕様上の精度で)維持できるかもしれません。
一部ジェネレータ対策機能設定
- 処理前に全ピクセルを完全に不透明にする
- これを「する」にすると、メインの処理を行う前に画像中のアルファチャンネルをもとに背景色と合成し、
全ピクセルを完全に不透明にします。
- 不透明化に使用する背景色(HTML形式16進)
- 「処理前に全ピクセルを完全に不透明にする」の処理に使用する背景色を、6桁または3桁の16進数で指定します。
6桁の場合は2桁ずつ、3桁の場合は1桁ずつ、左から赤、緑、青です。
#や0xなどの余計な文字は入れないでください。
処理結果
- ファイル名
- 処理対象のファイル名です。
- 状態
- ファイル読み込みと処理の状態です。処理が完了すると「生成完了」と表示されます。
- 幅
- 読み込んだ画像の幅です。
- 高さ
- 読み込んだ画像の高さです。
- ピクセル数
- 読み込んだ画像のピクセル数(幅×高さ)です。
- 処理対象候補ピクセル数
- 現在の設定で透明度の設定の対象となる可能性があるピクセルの数です。
- 処理済みピクセル数
- 透明度の設定を行ったピクセルの数です。
- 処理後の完全に不透明でないピクセル数
- 出力画像に含まれる、α値が最大の255でないピクセルの数です。
既知の不都合
- Internet Explorer 11において、以下の機能が利用できませんでした。Firefoxなどの別のブラウザを利用してください。
- 画像のドロップによる解析の開始
- 処理結果のダウンロード
- Xperia XZ、Android 7.0上の以下のブラウザにおいて、以下の不都合を確認しました。
- Sleipnir Mobile for Android 3.5.5において、
httpかhttpsのURLしかダウンロードできないという糞仕様により処理結果のダウンロードが出来ませんでした。
非常に遺憾ですが、別のブラウザを利用して下さい。
- Chrome 58.0.3029.83において、処理結果をダウンロードすると
「不明なエラーが発生したためダウンロードできませんでした」というメッセージが表示されます。
メッセージの内容に反してファイルはダウンロードできているようなので、ストレージを確認してください。
免責
- このツールを使用した結果生じたいかなる損害についても、
それがこのツールの不都合によるものであるかどうかにかかわらず、作者(みけCAT)は一切責任を負いません。
使用する場合は自己責任でお願いします。
- 投稿した画像を無差別に破壊するようになるなどのサービスの仕様変更により、
そのサービスに対する効果が発揮できなくなる可能性が考えられます。
更新履歴
- 2016年3月1日
- 公開。
- 2016年7月21日
- 処理前に全ピクセルを完全に不透明にする機能を追加。
- 2017年6月8日
- 既知の不都合を追加。
戻る