Şeffaflığı korurken toplu iş yeniden boyutlandırma ve kaydetme


10

Yaklaşık 700+ png resmim var. Onları yeniden boyutlandırmalı ve kaydetmeliyim. Ancak sağlam olmaları için şeffaflıklarına da ihtiyacım var.

Irfanview'i denedim, ama işe yaramadı. GIMP çalışıyor, ancak toplu kaydetme seçeneği bulamıyorum. 700+ görüntüyü manuel olarak yeniden boyutlandırmayacak ve kaydetmeyeceğim. Bu çok sıkıcı.

Dışarıda ihtiyacım olan işi yapan herhangi bir uygulama var mı?


ImageMagick'i denediniz mi?
Mart'ta slhck

Hayır, ama sunucular için değil mi?
Huysuz ol 'Ayı

1
Sunucular için ne demek istiyorsun? Herhangi bir işletim sisteminde çalıştırılabilen bir komut satırı yazılımıdır.
Mart'ta 13

Evet, hayır. Komut satırı benim gücüm değil. Kullanışlı bir GUI ile bir şeye ihtiyacım var.
Huysuz ol 'Ayı

@DonSalva güç olmadan bile ffmpeg kullanarak cmd 2 satır içinde yapabilirsiniz
Jet

Yanıtlar:


10

Maalesef, komut satırını kullanmanız gerekecek. Bununla başa çıkmak için bir GUI programı bulabileceğinizden gerçekten şüpheliyim.

Hangi işletim sistemini kullandığınızı belirtmediniz. Linux'ta, aşağıdaki komut geçerli dizindeki tüm .png dosyalarını yeniden boyutlandırır. Orijinal görüntülerin üzerine yazılacağını unutmayın:

##  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

Senaryoya ziyade komut satırı üzerinde kullanıyorsanız Windows hattı için, unutmayın, kullanmak gerekir %%iziyade %i.


Başka bir seçenek de GIMP komut dosyası oluşturmaktır . Bu komut dosyası resminizi yeniden boyutlandıracak ( kaynak ):

(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)))))

batch_resize.scmGIMP scriptsdizinine olduğu gibi kaydedin ve aşağıdaki gibi çalıştırın:

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

GÜNCELLEME:

Sadece tökezledi bu yazı GIMP eklentisi düşündürmektedir David'in Toplu İşlemci tam olarak istediğiniz yapmalıdır. Makale Linux ile ilgili, ancak eklentinin sayfasında bir Windows sürümüne bağlantı var.


Benim hatam, işletim sistemini hep unuttum. Win7 64bit.
Huysuz ol 'Ayı

ImageMagick'in bir windows sürümü var ve (her nasılsa) GIMP komut dosyasını pencerelerde de kullanabilmelisiniz.
terdon

@DonSalva güncellenmiş cevaba bakınız.
terdon

ImageMagick bu tür işler için harika bir araçtır. Nasıl kullanacağınızı öğrenin ve sonsuza kadar seveceksiniz!
Lee Harrison

Windows komut satırını eklemek için @evilsoup'a teşekkürler.
terdon

4

ImBatch aracının görevinizde size yardımcı olabileceğini düşünüyorum . Benim için Win7 x64 ile iyi çalışıyor. Ücretsizdir.


Harika bir araç, IrfanView'den çok daha esnek ve alfa ile png'yi destekliyor - teşekkürler!
Tomáš Kafka

3

XNConvert , bu görevler için basit ve sezgisel bir GUI'ye sahiptir.

XnConvert, 80'den fazla eylemi birleştirmenize izin veren güçlü ve ücretsiz bir çapraz platform toplu görüntü işlemcisidir. 500 format ile uyumludur. XnViewMP'nin toplu işleme modülünü kullanır

  • toplu işleme
  • saydamlığı korur ( şeffaf bir PNG ile test edilmiştir )
  • otomatik veya önceden tanımlanmış yeniden boyutlandırma
  • kurulum gerekmez

resim açıklamasını buraya girin


Bu çalıştı ve onu vermedi şeffaflık (Mac sürümü) korumak. Ne tür bir yeniden örnekleme kullanıldığını yapar mı (siz yaptığınız gibi Lanczos'u kullandım).
niico

Bunu kendim hallettim - Bilinear Resampling kullanmak bunu yapıyor. 'Sonra' penceresinde nasıl görüneceğini görebilirsiniz - şeffaf alan siyahsa işe yaramayacağını biliyorsunuz.
niico

@niico Şimdi Lanczos da 3 farklı örnekleme yöntemi denedim. Hepsi saydam görüntüler üretir. Belki MAC sürümü farklı bir şekilde çalışır
nixda

Bunu PC ve Mac'te denedim - her ikisinde de aynı. Ayrıca - Şimdi yaptığım yeniden örnekleme cehennem ve kullanılamaz jaggy olduğunu fark ediyorum.
niico

2

Varsayılan olarak, FFMpeg'i kullanmak en kısa yoldur :) Buradan
indirin , dosyalarınızla klasöre koyun, komut satırını açın, klasörünüze gidin (ile ) ve buraya yazın: cd

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

ve bedeninizle değiştirin 32x32. PNG'lerinizi yeniden boyutlandıracak ve Resizedklasöre koyacaktır .
Bu işlem, toplu iş dosyası olmadan çalışacaktır. Ancak yarasa dosyasında, yazma bu koymak istiyorsanız %%yerine %.

Umarım size yardımcı olur.


0

ImBatch veya XNConvert'i denemedim, diğerleri burada bahsetti, ancak sizin için birkaç öneri daha:

  • pngquant (bir komut satırı aracı. Kendim, sayfada bulunan Windows GUI PNGoo'yu kullandım)
  • Renk niceleyici (çeşitli renk taklidi algoritmaları vb. Kullanmak için ayarları çimdiklemek için bir sürü olanak.
  • TinyPNG.com (ücretsiz web hizmetinin her biri 5 MB'den küçük 20 dosya sınırı vardır)

0

Aynı sorunu birçok kez yaşadım ve çoğu zaman Photoshop yüklü. Bu yüzden bu senaryoyu, başkalarının kodlarından birkaç ilham alarak bir araya getirdim.

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

kullanım

  • Photoshop CC veya daha yeni bir sürümünü yükleyin.
  • Komut dosyasını Photoshop'ta açın.
  • Bir iletişim kutusu bir kaynak klasör seçmenizi ister.
  • Bir iletişim kutusu bir hedef klasör seçmenizi ister.
  • Başka bir iletişim kutusu size maksimum genişlik ve yüksekliği soracaktır.
  • Başka bir iletişim kutusu sizden önce ideal genişlik sonra ideal yükseklik isteyecektir.
  • Komut dosyası kaynak klasörünüzde bulunan tüm PSD veya AI dosyalarını açarken bekleyin ve bunları şeffaf PNG-24 olarak kaydedin.
  • Bir iletişim kutusu ne zaman bittiğini size bildirir.

Referanslar

Referans için 2'den fazla bağlantı vardı, mevcut itibarım artık yayınlamama izin vermiyor. Referanslar belgelendiği için orijinal komut dosyasına bakın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.