Mayaにもともとある画像をPySide(またはPySide2)で使用したいことは多々あると思います。Mayaで使用されている画像は、ほとんどリソースイメージと言われるもので、1つ1つ画像が保存されているわけではありません。
そのまま使う場合
まず「Factory Icon Browser」を使用して、目的の画像のファイル名を調べます。「Factory Icon Browser」は、「Shelf Editor」から使うことができます。
リストにはMayaで使われているアイコンがありますが、1つ1つ見ていくのは大変です。Filterにそれっぽい名前を入れて見ると探しやすいです。例えば、ポリゴン系なら「poly」になります。入力したら「Enter」を押しましょう。
ワイルドカード「*」を使ったフィルタリングも可能です。例えば「*sphere」とすると「~sphere」というファイル名の画像がリストアップされます。
ファイル名が分かったら、もうこっちのものです!QImage、QIconのファイル名の指定で「:/」を先頭につけてあげます。
from PySide import QtGui image = QtGui.QImage(':/polySphere.png')
from PySide2 import QtWidgets image = QtWidgets.QImage(':/polySphere.png')
一度保存して、それを使う場合
一度保存して、ちょっと加工してから使いたい場合もあると思います。「Factory Icon Browser」で目的の画像を探すまでは同じです。画像を見つけたら、「Save As」をクリックして好きな場所に保存します。
リソースイメージをすべて保存する
いちいち探すのは面倒、、、とりあえず全部保存して、あとから探したいっというときは、以下のコードでぜーんぶ保存できます。
import os from maya import cmds saveDir = r'c:\mayaIcons' if not os.path.exists(saveDir): os.makedirs(saveDir) resources = cmds.resourceManager(nf='*') for resource in resources: try: path = os.path.join(saveDir, resource) cmds.resourceManager(s=(resource, path)) except: print('Cannot save file: '+resource)
上記のコードを実行すると、cドライブのmayaIconsというフォルダにすべてのリソースイメージが保存されます。
見やすいように「PNG」のみ表示しています。実際には「SVG」も保存されます。
リソースイメージの一覧をみる!
Amaterasuにある「Resource Image Browser」を使用すると以下のように見ることができます。