スタパ齋藤のApple野郎

Macで「PNGファイルよりJPEGを使いたい」ならこの方法♪

PNGファイルをJPEGファイルに変換する方法アレコレ

 連載名がApple野郎なので、たまにはMacの話もしてゆきたいッ!!! ってコトで、今回はMacやiPhoneで生成されがちなPNGファイルを軽くする話。単にPNGファイルをJPEGファイルに変換するってだけですけど。

 Web媒体でライターをしていると、頻繁に発生するのがスクリーンショットの取得。ウィンドウの表示内容を掲載して説明するためですな。なお、Macでのスクリーンショット取得方法はApple公式サイトにて説明されているが、↓こんなキーボードショートカットを使える。

※アップル社ウェブサイトより抜粋。

 ↑はApple公式サイトからスクリーンショットを取得して見やすく加工したものだが、まさにこういう記事作りでスクリーンショット取得が多発する。で、Macだとスクリーンショット画像形式の初期設定がPNGファイルである。PNG(ピング/ピン)形式は、可逆圧縮のフルカラー画像形式で、元の画像を劣化なくキレイに表示するのに向く。完璧なスクリーンショットにはPNGが向くので、これが初期設定になっているというわけだ。

 しかしPNGはファイルサイズがけっこう大きい。ので、(画像によって異なるが)掲載する場合はより圧縮効率の高いJPEG(ジェイペグ)形式を使いたいところ。データ量が少ないのでサーバーにもスマートフォンなど端末にも好都合。ただし非可逆圧縮ファイルなので、多少の画質劣化がある。完璧なスクリーンショットを掲載するには向かないと言えるが、まあ多少ザラついたりしても「どういう表示内容なのか?」がわかれば十分だったりすることが大半なので、スクリーンショットもJPEGで掲載したいというわけだ。

 では、どうすれば? 単純なところでは、スクリーンショットを取得して生成されたPNGファイルをJPEGファイルに変換すればいい。手軽な方法としては「プレビュー.app」で複数枚のPNGファイルを開いて全ファイルを選択し、[選択中のイメージを書き出す]でオプションを選び、ファイル形式としてJPEGを選べばいい。

 ただ、毎回この方法を使うのも怠い。ので、他の方法をご紹介してみたい。

スクリーンショットをJPEGで取得したいならこの方法

 スクリーンショットでPNGファイルはほぼ使わない、最初からJPEGでスクリーンショットが取得できればいい、というなら、そうしてしまおう。macOS標準のターミナルアプリを使う方法だ。↓こんなアプリ。

 うわ〜使い方わかんなさそう〜!!! みたいな感じだが、お決まりのコマンド&パラメーターをコピペで入力するだけでOK。

 具体的にはまず、ターミナルウィンドウの最終行の「$」マークの後にカーソルがあるが、そこに下の一文をコピー&ペーストしてEnterキーを押す。

defaults write com.apple.screencapture type jpg

 続いて、同様に下の一文をコピー&ペーストしてEnterキーを押す。

killall SystemUIServer

 これでMacでのスクリーンショットが常にJPEGファイルで生成されるようになる。なお、2つの文は、最初の文がスクリーンショットのファイル形式の指定で、次の文はMacのGUIを司るサーバーをリセットするもの(リセットしてJPEGという新たなパラメーターを適用)。って書いている俺も意味がよくわかっていないが、ともかく上の2つの呪文を順にコピペ&Enterすればいい。

 なお、ひとつめの文の「jpg」を他の拡張子にすれば、そのファイルタイプでスクリーンショットが生成されるようになる。使える拡張子は、jpg/png/bmp/pdf/gif/tif/pict/jp2/psd/sgi/tgaあたり。

 また、デフォルトの設定に戻したい場合、以下の一文をコピペ&Enterする。

defaults delete com.apple.screencapture type

 そして同じく以下の一文をコピペ&Enterすれば初期設定に戻る。

killall SystemUIServer

 Macでスクリーンショット取得しまくり&いつもJPEGファイルとして使っている、という方はお試しを。けっこう多くの人がやってる便利技っす。

iPhoneやiPadのスクリーンショットはどうする?

 Macだと前述の方法が便利だが、でもiPhoneやiPadのスクリーンショットは相変わらずPNGファイルだったりする。これらスクリーンショットをMac上で使う場合、前述のターミナルでの設定変更をしてあっても、iPhone→MacにPNGファイルが送られるので、手動で変換する必要がある。

 ただ、iPhone/iPad上でPNG形式のスクリーンショットをJPEGファイル化する方法もある。 具体的には、写真アプリでPNGファイルを選んで[編集]を選び、右上の[…]から[マークアップ]を選んで何もせずに[完了]をタップすればJPEGファイルとして保存できる。

 ただ、この方法だとスクリーンショットの枚数分の手作業が必要なので激面倒ですな。そこで、Mac上に転送したPNGファイルを一括してJPEGファイルに変換する方法をご紹介。

 具体的にはMacの標準アプリ「Automator(オートメーター)」を使う方法だ。Automatorは、複数のファイルに同じ処理(ファイル名変更やファイル形式変更やリサイズなど)を行う場合にそれを自動化してくれるツールだ。お決まりのルーチンワークを全自動化することができる。Automatorを使えば、PNGファイル→JPEGファイル変換も一発だ。

 考え方やアプローチ次第でいろいろなAutomator利用方法があると思う。が、ここでは複数のPNGファイル(などのイメージファイル)を選択して右クリックメニューからJPEGファイルへ変換する方法を。

 まずAutomatorを開く。画面に何も表示されない場合は[ファイル]から[新規]を選ぶ。次いで[クイックアクション]を選択する。

 続いて、左メニューの[ライブラリ]から[Finder項目をコピー]を選び、右の[ワークフローを作成するには、ここにアクションまたはファイルをドラッグしてください。]と書かれたエリアに[Finder項目をコピー]をドラッグする。[Finder項目をコピー]の[保存先]という項目は、変換後のファイルが保存されるフォルダなのでお好きな場所を。同じフォルダ上で変換前のファイルを変換後のファイルで上書きすることもできる。

 続いて、左メニューの[ライブラリ]から[イメージのタイプを変更]を選び、右のエリアにドラッグ。[イメージのタイプを変更]の[変更後のタイプ]でJPEGを選べば、処理対象のイメージファイルがJPEGファイルに変換されことになる。

 最後にメニューから[ファイル]→[保存]を選び、クイックアクションの名前を付る。ここで付けた名前は、右クリックメニューで表示されるショートカット名だ。そうして保存したら完了。Automatorは終了してOK。

 以降、PNGファイルなどイメージファイルを選んで右クリックメニューを出すと、作成したクイックアクションが選べる。

 なお、作成したクイックアクションは、/ユーザー/ユーザー名/ライブラリ/Services の中にクイックアクション名のワークフローファイルとして保存されている。これを削除すれば右クリックメニューからも該当のショートカットが消える。

 こんな感じでAutomatorを使えば、PNGファイルをJPEGファイルに変換し放題!!! 別のやり方、さらに効率のいいやり方もあると思うので、興味があればぜひチャレンジしてみてほしい♪

スタパ齋藤

1964年8月28日デビュー。中学生時代にマイコン野郎と化し、高校時代にコンピュータ野郎と化し、大学時代にコンピュータゲーム野郎となって道を誤る。特技は太股の肉離れや乱文乱筆や電池の液漏れと20時間以上の連続睡眠の自称衝動買い技術者。収入のほとんどをカッコよいしサイバーだしナイスだしジョリーグッドなデバイスにつぎ込みつつライター稼業に勤しむ。