import maya.OpenMaya as OpenMaya
def main():
m_color = ( 0.0, 1.0, 0.0, 1.0 )
m_color = float4Torgba(m_color)
generateTexture("c:/tmp","color01",m_color)
def generateTexture(m_path,m_fileName,m_color):
try:
m_util = OpenMaya.MScriptUtil
#-------------
m_height = 16
m_width = 16
m_depth = 4
#-------------
m_image = OpenMaya.MImage()
m_image.create(m_height, m_width, m_depth )
m_pixels = m_image.pixels()
#-------------
m_arrayLen = m_width * m_height * m_depth
for i in range(0, m_arrayLen, m_depth):
m_util.setUcharArray(m_pixels, i+0, m_color[0])
m_util.setUcharArray(m_pixels, i+1, m_color[1])
m_util.setUcharArray(m_pixels, i+2, m_color[2])
m_util.setUcharArray(m_pixels, i+3, 0)
m_image.setPixels(m_pixels, m_height, m_width)
m_image.writeToFile( "{}/{}.png".format(m_path,m_fileName), '.png' )
except:
OpenMaya.MGlobal.displayWarning("Can't save file to {}/{}.png".format(m_path,m_fileName))
return False
else:
return True
def float4Torgba((m_r,m_g,m_b,m_a)):
m_red = int(m_r * 255.0)
m_green = int(m_g * 255.0)
m_blue = int(m_b * 255.0)
m_alpha = int(m_a * 255.0)
return (m_red, m_green, m_blue, m_alpha)
main()