git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#----------------------------------------------------------------------
 | 
						|
# Name:        wxPython.tools.img2img
 | 
						|
# Purpose:     Common routines for the image converter utilities.
 | 
						|
#
 | 
						|
# Author:      Robin Dunn
 | 
						|
#
 | 
						|
# RCS-ID:      $Id$
 | 
						|
# Copyright:   (c) 2002 by Total Control Software
 | 
						|
# Licence:     wxWindows license
 | 
						|
#----------------------------------------------------------------------
 | 
						|
# 12/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
 | 
						|
#
 | 
						|
# o V2.5 compatability update 
 | 
						|
#
 | 
						|
 | 
						|
import  getopt
 | 
						|
import  glob
 | 
						|
import  os
 | 
						|
import  sys
 | 
						|
 | 
						|
import  wx
 | 
						|
 | 
						|
def convert(file, maskClr, outputDir, outputName, outType, outExt):
 | 
						|
    if os.path.splitext(file)[1].lower() == ".ico":
 | 
						|
        icon = wx.Icon(file, wx.BITMAP_TYPE_ICO)
 | 
						|
        img = wx.BitmapFromIcon(icon)
 | 
						|
    else:
 | 
						|
        img = wx.Bitmap(file, wx.BITMAP_TYPE_ANY)
 | 
						|
 | 
						|
    if not img.Ok():
 | 
						|
        return 0, file + " failed to load!"
 | 
						|
    else:
 | 
						|
        if maskClr:
 | 
						|
            om = img.GetMask()
 | 
						|
            mask = wx.Mask(img, maskClr)
 | 
						|
            img.SetMask(mask)
 | 
						|
            if om is not None:
 | 
						|
                om.Destroy()
 | 
						|
        if outputName:
 | 
						|
            newname = outputName
 | 
						|
        else:
 | 
						|
            newname = os.path.join(outputDir,
 | 
						|
                                   os.path.basename(os.path.splitext(file)[0]) + outExt)
 | 
						|
        if img.SaveFile(newname, outType):
 | 
						|
            return 1, file + " converted to " + newname
 | 
						|
        else:
 | 
						|
            img = wx.ImageFromBitmap(img)
 | 
						|
            if img.SaveFile(newname, outType):
 | 
						|
                return 1, "ok"
 | 
						|
            else:
 | 
						|
                return 0, file + " failed to save!"
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
def main(args, outType, outExt, doc):
 | 
						|
    if not args or ("-h" in args):
 | 
						|
        print doc
 | 
						|
        return
 | 
						|
 | 
						|
    outputDir = ""
 | 
						|
    maskClr = None
 | 
						|
    outputName = None
 | 
						|
 | 
						|
    try:
 | 
						|
        opts, fileArgs = getopt.getopt(args, "m:n:o:")
 | 
						|
    except getopt.GetoptError:
 | 
						|
        print __doc__
 | 
						|
        return
 | 
						|
 | 
						|
    for opt, val in opts:
 | 
						|
        if opt == "-m":
 | 
						|
            maskClr = val
 | 
						|
        elif opt == "-n":
 | 
						|
            outputName = val
 | 
						|
        elif opt == "-o":
 | 
						|
            outputDir = val
 | 
						|
 | 
						|
    if not fileArgs:
 | 
						|
        print doc
 | 
						|
        return
 | 
						|
 | 
						|
    for arg in fileArgs:
 | 
						|
        for file in glob.glob(arg):
 | 
						|
            if not os.path.isfile(file):
 | 
						|
                continue
 | 
						|
            ok, msg = convert(file, maskClr, outputDir, outputName,
 | 
						|
                              outType, outExt)
 | 
						|
            print msg
 | 
						|
 |