画像に透明度を上げたピクセルを作る

設定

基本機能設定
透明度を上げたピクセルを作る位置
元から不透明度が最大でないピクセルの不透明度
設定する不透明度の値
出力形式
一部ジェネレータ対策機能設定
処理前に全ピクセルを完全に不透明にする
不透明化に使用する背景色(HTML形式16進)

変換

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

処理結果

ファイル名-
状態-
-
高さ-
ピクセル数-
処理対象候補ピクセル数-
処理済みピクセル数-
処理後の完全に不透明でないピクセル数-

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


解説

概要

これは、普通の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でないピクセルの数です。

既知の不都合

免責

更新履歴

2016年3月1日
公開。
2016年7月21日
処理前に全ピクセルを完全に不透明にする機能を追加。
2017年6月8日
既知の不都合を追加。

戻る