Posted on Wednesday, 7th May 2008 by Dummas

Mazas script’ukas, kuris resizina paveikslelius :]

Naudojam PIL python Image library

import Image, os

# Pradiniai duomenys
imagesDir = "/dir/iki/paveiksleliu/";
width = 100
height = 70

for name in os.listdir(imagesDir):

# Remove thumb's
#	if name.endswith("_thumb.png"):
#		os.remove ( os.path.join(imagesDir, name ) )
	im = Image.open ( os.path.join ( imagesDir, name ) )
	rx, ry = im.size[0]/float(width), im.size[1]/float(height)
	if rx > ry:
		resize = int(width), int ( round ( im.size[1] * ( 1.0 / rx ), 0) )
	else:
		resize = int(round(im.size[0]*(1.0/ry))), int(height)

	im1 = im.resize(resize, Image.BILINEAR )
	im1_name = name[:-4] + '_thumb.png'
	im1.save ( os.path.join ( imagesDir, im1_name ) )

Posted in Uncategorized | Comments (2)

2 komentarai(-ų) to “Python - resize image”

  1. Ernestas Sako:

    Žinau, kad tai tikriausiai web’ui pritaikytas script’as, bet kad žmonės nesugalvotų jo naudoti shell’e tai siūlau tokią alternatyvą:
    mogrify -resize 320×240 *.jpg
    Tačiau ji paliks aspect ration originalų ir orientuosis tik į 320. O ši komanda pakeis dydį būtent į tokį, koks nurodytas, be išimčių:
    mogrify -resize 320×240! *.jpg
    Tam reikia turėti ImageMagick paketą.

  2. Kristina Sako:

    Hmm… aš irgi naudoju savo Python scriptuką nuotraukų mažinimui. Nejaugi nėra „normalios“ grafinė programėlės, kuri resize’intų visas nuotraukas nurodytame kataloge?

Komentuoti