Thank you again Justin !

I had this impression that one day when I was using a tool of Maya I got a 
green commandLine (yes, the one which display the warning cmds), but may be 
I dreamed about it.
The fact is that I'm a bit lazy ,I like the Ui I just created. But I forgot 
to place a feedback field, that's why I wanted to use this commandLine .... 
if it's not possible, I will simply rework my UI  ^^

About the picture, it seems to be easy to take one, I didn't thought about 
using Playblast because I thought it was only for creating short quicktime 
files.
However, I didn't really got it with Qt. In fact I started python 13 days 
ago and I didn't dig into Qt.
Maybe it will be more easy to grab a picture of  the viewport and resize 
the picture to fit my images' size.

Regards

Florian

Le jeudi 16 août 2012 21:14:37 UTC+2, Justin Israel a écrit :
>
> Do you mean the commandLine widget, that has the input on the left and the 
> output on the right, at the bottom of the main window?
> While it does have a background color attribute, it doesn't perform the 
> same result as when a warning or error is generated (yellow/red).
> It just outlines it.
>
> For the screen cap, there are a couple solutions you could use. 
>
> A super duper basic way would be to do a viewport playblast to an image, 
> and then perform whatever cropping you want on the resulting image file:
>
> cmds.playblast( frame=cmds.currentTime(q=True),
>                 f="viewport.png", 
>                 fo=True, fmt="image", viewer=False,
>                 c="PNG", quality=70, rfn=True )
>
> Another way would be to use the API to get an MImage of the current 
> viewport. Nathan Horne has an example of doing this and writing to a file: 
> http://nathanhorne.com/?p=261
>
> import maya.OpenMaya as om
> import maya.OpenMayaUI as mui
>
> image = om.MImage()
> view = mui.M3dView.active3dView()
> view.readColorBuffer(image, True)
> image.writeToFile("viewport.png", "png")
>
> But again, you will need to perform the cropping using your own lib.
>
> And lastly, if you want to perform the entire process before writing to a 
> file, and you already happen to have PyQt4 installed for Maya, you can 
> transfer the pixel buffer over to a QImage:
>
> import maya.OpenMaya as om
> import maya.OpenMayaUI as mui
> import sip
>
> from PyQt4 import QtCore, QtGui
>
> image = om.MImage()
> view = mui.M3dView.active3dView()
> view.readColorBuffer(image, True)
>
> w,h = view.portWidth(), view.portHeight()
>
> vptr = sip.voidptr(long(image.pixels()))
> i = QtGui.QImage(vptr, w, h, QtGui.QImage.Format_RGB32)
> trans = QtGui.QTransform()
> trans.scale(-1, 1)
> trans.rotate(180)
> i = i.transformed(trans, 
> QtCore.Qt.SmoothTransformation).rgbSwapped().copy(0,0,300,200)
> i.save("screencap.png")
>
>
>
> What this does is gets the pixel array from the MImage, then creates a 
> QImage from that data directly. The data was in a bit of a different 
> format, so I had to flip it on X and then rotate it. Also, I needed to swap 
> the rgb channels into the right order. You can perform the crop you want 
> using that copy method. It takes the x,y points and the width height.
>
> On Thu, Aug 16, 2012 at 3:40 AM, Florian Croquet 
> <[email protected]<javascript:>
> > wrote:
>
>> I have another question, in a script I used the command : 
>>  cmds.warning("string" ).
>> It's very useful and I'm now looking for something similar but with 
>> another color.
>>
>> Do someone know if there is another command which allow to display a 
>> message in the command window ( in green if possible )
>> I tried to find something on the python documentation, but I couldn't 
>> find anything
>>
>> I have another thing in mind for a futur script, I would like to take a 
>> pictures of a model inside maya, a simple print screen but I want print 
>> only 250*300 pxl  of my screen.
>> Do you think that it's possible in Python ? 
>>
>>
>> Le mercredi 15 août 2012 15:45:56 UTC+2, Florian Croquet a écrit :
>>
>>> Thank you Justin, it's a very handy trick !
>>>
>>>       
>>>
>>>
>>> Le mardi 14 août 2012 20:24:18 UTC+2, Justin Israel a écrit :
>>>>
>>>> Here is a little tip. If you turn on History -> Echo All Commands in 
>>>> the script editor, and perform some operations, you will see it spit out 
>>>> the MEL it is executing. When you do that and open Export Selected, you 
>>>> will see it runs a built in command:  ExportSelection
>>>> This command is available to both the MEL and python side:
>>>>
>>>> MEL:   ExportSelection;
>>>> PY:     cmds.ExportSelection()
>>>>
>>>>
>>>>
>>>> On Tue, Aug 14, 2012 at 1:50 AM, Florian Croquet <[email protected]>wrote:
>>>>
>>>>> I have another little question,
>>>>>
>>>>> Is it possible to open this export window with python or mel ? 
>>>>>
>>>>>
>>>>> <https://lh5.googleusercontent.com/-xCMg5cEzh_A/UCoRMRhdO6I/AAAAAAAADRM/7wclDxXfDHQ/s1600/screenexport.jpg>
>>>>>
>>>>>  -- 
>>>>> view archives: 
>>>>> http://groups.google.com/**group/python_inside_maya<http://groups.google.com/group/python_inside_maya>
>>>>> change your subscription settings: http://groups.google.com/**
>>>>> group/python_inside_maya/**subscribe<http://groups.google.com/group/python_inside_maya/subscribe>
>>>>>
>>>>
>>>>  -- 
>> view archives: http://groups.google.com/group/python_inside_maya
>> change your subscription settings: 
>> http://groups.google.com/group/python_inside_maya/subscribe
>>
>
>

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to