2019年9月6日金曜日

スクリーンショットをトリミング等すると画像がおかしくなる問題


マビノギの仕様変更として、先日、SSの保存形式がJPGからPNGに変更されましたね。

それ以降ちょこちょこツイッターとかで目にするなんだかおかしな画像。

イビーだけでなくショーンまで病気に

本日は初心者向け、画像の形式もろもろの解説です。




これまでの保存形式JPGの特徴(オキノさんの主観)


・圧縮できるのでファイルサイズが軽い。
・圧縮してるせいで淡いグラデーションなどは特に、謎のもやもやが発生して残念な見た目になる。
・何度もJPGで保存を繰り返すとどんどん劣化する。



これからの保存形式PNGの特徴(オキノさんの主観)


・使用する色情報などを裏で管理しているため、劣化しにくい
・          〃          工夫すればファイルサイズを軽減することも可能
(↑この二つはアイロンビーズを想像してもらうとわかりやすいかと思います)
アルファ情報を持つことが可能




本日のキーワードは『アルファ情報』です。



アルファ情報とは何ぞや

いわゆる透過です。
うちのツール用に用意したこのエルシィなどは、周辺を透過設定にしてあるため、背景色が変わっても問題がない画像になっています。


段階的に透過させればきれいなクリアアイコンを作れたりするのです!

この透明設定、どうなっているのかというと、




(←これは透過設定する前の画像)


(色指定がない場合、暗黙の了解で)左上の1ピクセルを透過の指定色とみなす
・指定した色の部分を透過する(この場合#000000)

等の手段があります。


左上の1ピクセルというのは

拡大してみました。ここのことです。
さてそろそろお察しになってきたかと存じます。

マビノギのスクリーンショットの左上をご覧ください。
(格子表示にしてるのは左上1ピクセルを意識するためです。)


もう間違いなく、全部、#000000(真っ黒) になっていると思います。
そのため、キャラクターの真っ黒いまつげなどが透過とみなされ、真っ白いカビ状態になってしまうのです。




でもトリミングしたら左上が真っ黒じゃなくなるからいいのでは?

透過色情報というのはまずファイルを開いた瞬間に取得しますので、その後いくらトリミングしても設定のほうは変わりません。

というわけで、どうすればカビ(ついにカビって呼び始めた)が消えるのかというと、




そもそも透過しない設定にする

画質にさほどこだわらない方は、トリミング後、PNG以外の形式(JPGなど)で保存するのが手っ取り早いです。

また、保存の際に「アルファ情報を保持する」的な選択肢があるなら、保持しなければOK。


あとは、トリミングツール次第になってしまいますが、透過解除してあげるのも有効です。これが一番正攻法だと思います。
私が愛用しているツールのひとつ、JTrimだと

このスポイトマークを押すと透過解除ができます。(他の色を透過設定したいときにはもう一度押して色を選択します。)

健康なショーンになりました

JTrimいいですよ!インストールもいらないし軽いですからね!




PNGは旧来からある優秀な保存形式です。
理解していれば、すごいお絵かきチャットを作れたりしますよ!

本稿でみなさまもちょこっとだけ画像形式について理解できたなら幸いです。

よいカビなしライフをお送りください!