web-dev-qa-db-ja.com

透明性を維持しながらPNGバッチのサイズ変更と保存

約700以上のpng画像があります。サイズを変更して保存する必要があります。ただし、透明性を損なわないようにする必要もあります。

Irfanviewを試しましたが、うまくいきませんでした。 GIMPは機能しますが、バッチ保存オプションが見つかりません。 700以上の画像を手動でサイズ変更して保存するつもりはありません。それは面倒です。

私が必要とする仕事をするアプリケーションはありますか?

10
Grumpy ol' Bear

コマンドラインを使用する必要があります。これに対処するためのGUIプログラムを見つけることができるかどうかは本当に疑わしいです。

使用しているOSが指定されていません。 Linuxでは、次のコマンドは現在のディレクトリにあるすべての.pngファイルのサイズを変更します。元の画像を上書きすることに注意してください:

##  bash (Linux, OSX):
for i in *png; do convert "$i" -resize 32x32 "$i"; done
##  on Windows:
for %i in (*png); do convert %i -resize 32x32 %i; done

Windows行の場合、コマンドラインではなくスクリプトで使用する場合は、%%iではなく%iを使用する必要があることに注意してください。


別のオプションは GIMPスクリプト です。このスクリプトは画像のサイズを変更します( source ):

(define (batch-resize pattern width height)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-get-active-layer image))))
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image))
(set! filelist (cdr filelist)))))

GIMPのscriptsディレクトリにbatch_resize.scmとして保存し、次のように実行します。

gimp -i -b '(batch-resize "*.JPG" 604 453)' -b '(gimp-quit 0)'

更新:

この投稿 を偶然見つけました。これは、GIMPプラグイン David’s Batch Processor があなたの望みどおりの動作をすることを示唆しています。記事はLinuxに関するものですが、プラグインのページに windows version へのリンクがあります。

10
terdon

私は ImBatch ツールがあなたの仕事を助けることができると思います。 Win7 x64でうまく動作します。これは無料。

4
Max Smirnoff

XNConvert には、これらのタスクのためのシンプルで直感的なGUIがあります。

XnConvertは強力で無料のクロスプラットフォームバッチ画像プロセッサで、80以上のアクションを組み合わせることができます。 500フォーマットと互換性があります。 XnViewMPのバッチ処理モジュールを使用しています

  • バッチ処理
  • 透明度を保持( 透明PNG でテスト)
  • 自動または事前定義されたサイズ変更
  • インストールは必要ありません

enter image description here

3
nixda

デフォルトでは、 FFMpeg を使用するのが最短の方法です:)
ダウンロードしてください ここ 、ファイルを含むフォルダーに入れ、コマンドラインを開き、フォルダーに移動し(cdを使用)、そこに書き込みます。

mkdir Resized
for %f in (*.png) do ffmpeg -i "%~nxf" -s 32x32 "Resized\%~nxf"

32x32あなたのサイズで。 PNGのサイズが変更され、Resizedフォルダに配置されます。
これはバッチファイルなしで作業を行います。ただし、これをbatファイルに入れたい場合は、%% 代わりに %

それがあなたを助けることを願っています。

2
Jet

私はImBatchやXNConvertを試したことがありませんが、他の人がここで言及したことはありますが、ここではさらにいくつかの提案を示します。

  • pngquant (コマンドラインツール。私自身、ページに含まれているWindows GUI PNGooを使用しました)
  • カラークオンタイザ (さまざまなディザリングアルゴリズムなどを使用するためのTweak設定の可能性がたくさんあります。PNGoo/ pngquantほどうまく機能しませんでしたが、それは私の知識が限られているためかもしれません)。
  • TinyPNG.com(無料のWebサービスには20ファイルの制限があり、それぞれ5MB未満です)
0
Carl

これと同じ問題が何度も発生し、Photoshopがインストールされていることがほとんどでした。そこで、他の人のコードからいくつかのインスピレーションを得て、このスクリプトをまとめました。

https://Gist.github.com/pixelbacon/7754cba64125b0240504

使用法

  • Photoshop CC以降のバージョンをインストールします。
  • Photoshopでスクリプトを開きます。
  • ダイアログが表示され、ソースフォルダを選択するよう求められます。
  • ダイアログが表示され、宛先フォルダを選択するよう求められます。
  • 別のダイアログで、最大の幅と高さを尋ねられます。
  • 別のダイアログが理想的な幅、そして理想的な高さを尋ねてきます。
  • スクリプトがソースフォルダーにあるすべてのPSDまたはAIファイルを開き、透明なPNG-24として保存するまで待ちます。
  • 完了するとダイアログが表示されます。

参考文献

参照へのリンクが2つ以上ありましたが、私の現在の評判では、これ以上投稿できません。参照が文書化されているので、元のスクリプトを参照してください。

0
pixelbacon