• 技术美术基础知识之OLE


    之所以把这个单独写个帖子,是因为对很多美术、技术美术来说,这个东西还很神秘,OLE全称是“对象链接与嵌入Object Linking Embedded”,是基于COM的,COM的全称是“组件对象模型Component Objiect Module”。名字之类的简单介绍一下,只是方便读者搜索资料。

    可能接触MaxScript的对这个接触的会比较多,因为MaxScript有个createOLEObject,可以创建一个OLE对象,由此来调用Office、photoshop等软件来进行操作。相关内容可以看我这篇帖子 http://www.cnblogs.com/sitt/archive/2011/06/27/2091238.html 

    Maya中也可以用Python来使用有OLE接口的程序,不过Python的标准库里并没有相关的模块,如果要在Maya里使用,需要安装Python,版本根据Maya中使用的Python版本而定,并且到这里下载相应的pywin32模块安装 http://pywin32.sourceforge.net/ ,至于Maya是用的Python版本,可以查阅Maya文档的 using Maya --> General --> Python --> python in Maya : Version.此外还有些山寨的方式,例如查看Maya安装目录下的Bin下的python**.zip和python**.dll根据末尾的数字判断版本.也可以用python的platform模块,例如

    显示Python版本
    import platform
    print (platform.python_version())

    为了Maya可以调用pywin32模块,需要将python安装目录(一般是c:\pythonxx)下的 “Lib\site-packages\”下面的pywub32.pth、pythoncom.pyc、pythoncom.pyo三个文件文件 以及win32com、win32两个文件夹复制到Maya目录下的"Python\Lib\site-packages\“目录下,当然也可以将Python的site-packages整个目录复制过来。然后就可以像下面这样使用ole接口来调用photoshop以及office等软件。

    View Code
    import maya.cmds as mayacmd

    import win32com.client
    photoshop
    = win32com.client.Dispatch("Photoshop.Application")
    select_objects
    = mayacmd.ls(sl=True)
    if len(select_objects) == 1 :
    file_name
    = "C:\\outUV.png"
    mayacmd.uvSnapshot(aa
    =True, n=file_name,xr=256,yr=256, r=255,g=255,b=255, o=True,ff='png')
    photoshop.Load(file_name)

      

  • 相关阅读:
    热修复之类加载机制总结
    socket之tcp如何维护长连接
    sqlite之多线程处理
    android主线程ActivityThread-转载
    线程之ThreadLocal使用
    图片之压缩总结
    线程之交替执行的实例
    git的最常用命令总结
    sqlite之常见的语句
    activity之分析-3分钟看懂Activity启动流程
  • 原文地址:https://www.cnblogs.com/sitt/p/1920587.html
Copyright © 2020-2023  润新知