apply texture to a direct button??

am trying to add some texture to my buttons but the texture also applies to the text on the button which makes it not appear. and am unable to understand the egg texture cards on how to convert png file to an egg file. can you please help me. am sure this is the key to everything am trying. suppose i have a png file in a folder…so how to cnvert to egg and then use the geom keyword.

here are my unworking code snniplets:

(1.)
//texture appliies to text also

#add some text
self.bk_text = “simulator”
self.textObject = OnscreenText(text = self.bk_text,pos = (0.2,0),
scale = 0.07,fg=(1,0.5,0.5,1),align=TextNode.ACenter,mayChange=1)

#callback function to set text
def setText():
self.bk_text = “Button Clicked”
self.textObject.setText(self.bk_text)

#add button
self.b = DirectButton(text = (“OK”, “click!”, “rolling over”, “disabled”),scale=0.5,command=setText)
self.tex = loader.loadTexture(‘zz/bookshelf/texturemap.png’)
self.b.setTexture(self.tex, 1)

…//…

(2)

//using egg tex cards

   #add some text
  bk_text = "DirectOptionMenu Demo"
  textObject = OnscreenText(text = bk_text, pos = (0.85,0.85), 
  scale = 0.07,fg=(1,0.5,0.5,1),align=TextNode.ACenter,mayChange=1)

#add some text
output = “”
textObject = OnscreenText(text = output, pos = (0.95,-0.95),
scale = 0.07,fg=(1,0.5,0.5,1),align=TextNode.ACenter,mayChange=1)

#callback function to set text
def itemSel(arg):
output = "Item Selected is: "+arg
textObject.setText(output)

#create a frame
egg-texture-cards -o button_maps.egg -p 240,240 texturemap.png
maps = loader.loadModel(‘button_maps.egg’)
menu = DirectOptionMenu(geom=maps, text=“options”, scale=0.1,items=[“item1”,“item2”,“item3”],initialitem=2,
highlightColor=(0.65,0.65,0.65,1),command=itemSel)

To run egg-texture-cards, go into your command line and go to the folder where your textures are. Type the following:

egg-texture-cards -p (height,width) -o <final_filename>.egg <texture1>.<filetype> <texture2>.<filetype> <texture3>.<filetype>

Then in your script:

buttModel = loader.loadModel("models/interface/fullscreen.egg")
button = DirectButton(geom = (buttModel.find('**/<texture1>'),
	buttModel.find('**/<texture2>'),
	buttModel.find('**/<texture3>')),scale=0.5)

The height and width ought to be the same number or you will get horrible stretching.