Well that was a healthy rant only to discover that I should be using getUcharArrayItem instead of getCharArrayItem... nice work Riddle... =P
On Mon, Feb 23, 2009 at 4:09 PM, Ravi Jagannadhan <enr...@gmail.com> wrote: > > Maybe the MScriptUtil class can help you here? It's a python wrapper > for pointers/references. > > On Mon, Feb 23, 2009 at 4:06 PM, jbrav...@gmail.com <jbrav...@gmail.com> > wrote: > > > > I'm trying to execute this bit of code I found in one of the devkit > > examples. (customImagePlane.py) > > > > image = OpenMaya.MImage() > > image.readFromFile(filenameStr) > > > > scriptUtil = OpenMaya.MScriptUtil() > > widthPtr = scriptUtil.asUintPtr() > > heightPtr = scriptUtil.asUintPtr() > > scriptUtil.setUint( widthPtr, 0 ) > > scriptUtil.setUint( heightPtr, 0 ) > > image.getSize( widthPtr, heightPtr ) > > > > pWidth = scriptUtil.getUint(widthPtr) > > pHeight = scriptUtil.getUint(heightPtr) > > > > print 'readBandedImageNode: ', pWidth, pHeight > > > > > > size = pWidth * pHeight > > # Implement transparency > > charPixelPtr = image.pixels() > > for i in range( 0, size, 4 ): > > alphaIndex = (i*4)+3 > > alpha = OpenMayaScript.getCharArrayItem(charPixelPtr,alphaIndex) > > OpenMayaScript.setCharArray( alpha * (1.0 - self.fTransparency), > > alphaIndex ) > > > > > > First off, what is OpenMayaScript? It doesn't declare it or import it > > anywhere, so I'm assuming they meant MScriptUtil() as those are > > functions of it being used. > > > > Secondly, this isn't working =P. I'm getting this error: > > > > # TypeError: argument number 1: a 'char *' is expected, 'PySwigObject > > (_p_unsigned_char)' is received # > > > > I'm really not having much luck learning the python api as it seems > > all these expected types that C++ requires are getting lost in > > pythonese. image.pixels() is supposed to return a constant unsigned > > char... so why is piping that into that variable above breaking it? > > > > This is sample code so it should work? What is a PySwigObject? > > > > I've also tried using image.floatPixels from the MImage class and it > > returns None every time. > > > > I'm trying to get pixel value information at given coordinates. I > > found another C++ example of what I want to do but I'm a little lost > > on the c++ to python syntax change. > > > > C++ exmaple: > > const unsigned char* pix = image.pixels() + (w*py*4 + 4*px); > > > > Can anyone tell me what I'm doing wrong, or is this another bug? > > > > > > > > > > > > > -- > Where we have strong emotions, we're liable to fool ourselves - Carl Sagan > > > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---