Changed the img2py tool to use PNG instead of XPM for embedding image

data in Python source code, and the generated code now uses streams to
convert the image data to wxImage, wxBitmap, or wxIcon.

A few other changes to match recent additions to CVS.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2002-02-26 22:35:10 +00:00
parent c2ff68d3fd
commit afb810d936
19 changed files with 3675 additions and 1986 deletions

View File

@@ -22,80 +22,10 @@ Options:
"""
import sys, os, glob, getopt, string
from wxPython.wx import *
import sys
import img2img
from wxPython import wx
wxInitAllImageHandlers()
def convert(file, maskClr, outputDir, outputName):
if string.lower(os.path.splitext(file)[1]) == ".ico":
icon = wxIcon(file, wxBITMAP_TYPE_ICO)
img = wxBitmapFromIcon(icon)
else:
img = wxBitmap(file, wxBITMAP_TYPE_ANY)
if not img.Ok():
return 0, file + " failed to load!"
else:
if maskClr:
om = img.GetMask()
mask = wxMaskColour(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]) + ".xpm")
if img.SaveFile(newname, wxBITMAP_TYPE_XPM):
return 1, file + " converted to " + newname
else:
img = wxImageFromBitmap(img)
if img.SaveFile(newname, wxBITMAP_TYPE_XPM):
return 1, "ok"
else:
return 0, file + " failed to save!"
def main(args):
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)
print msg
if __name__ == "__main__":
main(sys.argv[1:])
img2img.main(sys.argv[1:], wx.wxBITMAP_TYPE_XPM, ".xpm", __doc__)