aardio调用com组件操作photoshop

By admin at 16 天前 • 0人收藏 • 161人看过

感谢aardio培训群: 撒旦微笑 圣地 分享源码

以下功能为:新建文件 --> 设置图层类型 --> 设置文字大小,颜色

注意:必须安装了photoshop的电脑才能运行

image.png

注意: 运行以下代码请升级aardio到V27.10版本以上

在v27.10版本中一鹤校长针对PS优化了com组件部分功能,优化详情请看下面 1楼 内容。

import console; 
import com;
var app = com.CreateObject("Photoshop.Application");
    app.Preferences.RulerUnits = 1 ;//标尺 ==> 像素
    app.Preferences.TypeUnits = 1 ;//文字 ==> 像素	
    /*新建文档*/
var doc = app.Documents.Add(500, 500,72,"这是一个aardio创建的ps文件");//(宽,高,分辨率,文件名,...)  其它参数参考文档
    /*新建图层*/
var layer = doc.ArtLayers.Add();
    
    layer.Kind = 2 ;//设置为文字图层	
    layer.TextItem.Contents = "Hello,Aardio!";
    layer.TextItem.Size = 25;
    /*取颜色*/	
var textColor = com.CreateObject( "Photoshop.SolidColor" )
    textColor.RGB.Red = 0 ;
    textColor.RGB.Green = 153 ;
    textColor.RGB.Blue = 255 ;
    /*设置字体颜色s*/
    layer.TextItem.Color = textColor;
console.pause(true);




下面是更新之前的一些操作记录:

v27.10版本之前需要利用com.Variant()来设置某些属性

app.Preferences.RulerUnits = com.Variant(1) ;
layer.Kind = com.Variant(2) ;

这两个赋值的方式,利用了com.Variant这种com专用的对象

image.png

1 个回复 | 最后更新于 14 天前
14 天前   #1

app.Preferences.RulerUnits = 1 会先询问PS他要什么类型,而PS这样会报错,
app.Preferences.RulerUnits = com.Variant(1) 这样写aardio会先确定类型,PS这样反而不报错。

在COM接口里,1和com.Variant(1) 的作用是一样的,区别就是确定类型前要不要问过对方(COM的数值有细分为很多类型)

新版针对PS这个做了改进,以后直接写app.Preferences.RulerUnits = 1  就可以了。

登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...