]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/tools/img2xpm.py
   3 img2xpm.py  -- convert several image formats to XPM 
   7     img2xpm.py [options] image_files... 
  11     -o <dir>       The directory to place the .xpm file(s), defaults to 
  12                    the current directory. 
  14     -m <#rrggbb>   If the original image has a mask or transparency defined 
  15                    it will be used by default.  You can use this option to 
  16                    override the default or provide a new mask by specifying 
  17                    a colour in the image to mark as transparent. 
  19     -n <name>      A filename to write the .xpm data to.  Defaults to the 
  20                    basename of the image file + '.xpm'  This option overrides 
  25 import sys
, os
, glob
, getopt
, string
 
  26 from wxPython
.wx 
import * 
  28 wxInitAllImageHandlers() 
  31 def convert(file, maskClr
, outputDir
, outputName
): 
  32     if string
.lower(os
.path
.splitext(file)[1]) == ".ico": 
  33         icon 
= wxIcon(file, wxBITMAP_TYPE_ICO
) 
  34         img 
= wxBitmapFromIcon(icon
) 
  36         img 
= wxBitmap(file, wxBITMAP_TYPE_ANY
) 
  39         return 0, file + " failed to load!" 
  43             mask 
= wxMaskColour(img
, maskClr
) 
  50             newname 
= os
.path
.join(outputDir
, os
.path
.basename(os
.path
.splitext(file)[0]) + ".xpm") 
  51         if img
.SaveFile(newname
, wxBITMAP_TYPE_XPM
): 
  52             return 1, file + " converted to " + newname
 
  54             img 
= wxImageFromBitmap(img
) 
  55             if img
.SaveFile(newname
, wxBITMAP_TYPE_XPM
): 
  58                 return 0, file + " failed to save!" 
  63     if not args 
or ("-h" in args
): 
  72         opts
, fileArgs 
= getopt
.getopt(args
, "m:n:o:") 
  73     except getopt
.GetoptError
: 
  90         for file in glob
.glob(arg
): 
  91             if not os
.path
.isfile(file): 
  93             ok
, msg 
= convert(file, maskClr
, outputDir
, outputName
) 
  98 if __name__ 
== "__main__":