]>
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 .xmp 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 if wxPlatform
== "__WXGTK__":
29 raise SystemExit, "This tool can not be used on wxGTK until wxGTK can save XPM files."
31 wxInitAllImageHandlers()
34 def convert(file, maskClr
, outputDir
, outputName
):
35 if string
.lower(os
.path
.splitext(file)[1]) == ".ico":
36 icon
= wxIcon(file, wxBITMAP_TYPE_ICO
)
37 img
= wxBitmapFromIcon(icon
)
39 img
= wxBitmap(file, wxBITMAP_TYPE_ANY
)
42 return 0, file + " failed to load!"
46 mask
= wxMaskColour(img
, maskClr
)
53 newname
= os
.path
.join(outputDir
, os
.path
.basename(os
.path
.splitext(file)[0]) + ".xpm")
54 if img
.SaveFile(newname
, wxBITMAP_TYPE_XPM
):
55 return 1, file + " converted to " + newname
57 img
= wxImageFromBitmap(img
)
58 if img
.SaveFile(newname
, wxBITMAP_TYPE_XPM
):
61 return 0, file + " failed to save!"
66 if not args
or ("-h" in args
):
75 opts
, fileArgs
= getopt
.getopt(args
, "m:n:o:")
76 except getopt
.GetoptError
:
93 for file in glob
.glob(arg
):
94 if not os
.path
.isfile(file):
96 ok
, msg
= convert(file, maskClr
, outputDir
, outputName
)
101 if __name__
== "__main__":
102 if wxPlatform
== "__WXGTK__":
103 app
= wxPySimpleApp() # Blech! the GUI needs initialized before
104 # bitmaps can be created...