View Single Post
  #6  
Old May 1st, 2008, 02:55 PM
Fyron's Avatar

Fyron Fyron is offline
Shrapnel Fanatic
 
Join Date: Jul 2001
Location: Southern CA, USA
Posts: 18,394
Thanks: 0
Thanked 12 Times in 10 Posts
Fyron is an unknown quantity at this point
Default Re: OT: Automated resizing of images ?

I prefer Python's PIL library myself. Less overhead, less hassle with Irfanview's bizarre interface and interpretation of settings.. This little script helps me prepare shipsets for posting in the SEnet shipyards. I didn't have to do any resizing, but you can find info on how to do that here.

(bloody code tag sucks... stupid extra line breaks)


# http://www.pythonware.com/library/pi...book/image.htm
from PIL import Image

import sys
import os
import re
import shutil

shipset_path = sys.argv[1]

if len(sys.argv) > 2:
if sys.argv[2] == 'se4' or sys.argv[2] == '4':
game = 'se4'
else:
game = 'se5'
else:
game = 'se5'

files = os.listdir(shipset_path)

set_name = shipset_path.rstrip('_')

out_path = 'D:/Internet/SEnet/home/modules/Shipyards/images/races/' + game + \
'/' + set_name.lower() + '/'

try:
os.mkdir(out_path)
except WindowsError:
1

# Create an empty index.html file.
index_file = open(out_path + 'index.html', 'w')
index_file.close()

portrait_match = re.compile('_portrait_[a-z]+.bmp')

mini_match = re.compile('_mini_[a-z]+.bmp')

se4_specials = [set_name.lower() + '_pop_mini.bmp', set_name.lower() + \
'_pop_portrait.bmp', set_name.lower() + '_main.bmp', set_name.lower() + \
'_bigexplosion.bmp', set_name.lower() + '_shields.bmp']

for f_raw in files:
f = f_raw.lower()

if f == set_name.lower() + '_flag_texture.bmp' or f == set_name.lower() + \
'_race_portrait.bmp' or portrait_match.search(f) != None or \
(game == 'se4' and mini_match.search(f) != None or f in se4_specials):

im = Image.open(set_name + '/' + f)
im.save(out_path + f.replace('.bmp', '.png'), 'png')

# Create a preview image.
if game == 'se5':
shutil.copyfile(set_name + '/' + set_name + \
'_LargePortrait_Dreadnought.jpg', 'preview/' + set_name.lower() + '.jpg')
else:
im = Image.open(set_name + '/' + set_name + '_Portrait_Dreadnought.bmp')
im.save('preview/' + set_name.lower() + '.png', 'png')
__________________
It's not whether you win or lose that counts: it's how much pain you inflict along the way.
--- SpaceEmpires.net --- RSS --- SEnet ModWorks --- SEIV Modding 101 Tutorial
--- Join us in the #SpaceEmpires IRC channel on the Freenode IRC network.
--- Due to restrictively low sig limits, you must visit this link to view the rest of my signature.
Reply With Quote