C# 相当于此代码

标签 c# javascript photoshop

var xPos = new UnitValue( 0.5,'px') ;
var yPos = new UnitValue( 0.5,'px');
var pixPos = [ xPos, yPos ];

我用过这个

Tuple<PsUnits, PsUnits> tuple = new Tuple<PsUnits,PsUnits>(xpos,ypos);

但不适合我。有什么想法吗??

我上了一个类

 public class pixpos
  {
    float XPOS;
    float YPOS;
    public float xpos
    {
        get
        {
            return this.XPOS;
        }
        set
        {
            this.XPOS = value;
        }
    }
    public float ypos
    {
        get { return this.YPOS; }
        set { this.YPOS = value; }
    }
}   
     pixpos obj = new pixpos();
                    obj.xpos = xPos;
                    obj.ypos = yPos;

它不起作用,我必须将它作为参数传递给 Colorsamples.Add();

 Photoshop.Application appRef = default(Photoshop.Application);
var mySampler = appRef.ActiveDocument.ColorSamplers.Add(ps);

最佳答案

我快速浏览了互操作,Add 方法接受一个对象。正如 @icbytes 所暗示的那样,它需要一个数组,因此您可能可以使用一组装箱对象。互操作全部使用 double (不是 float),因此 double 可能是您想要使用的类型。

出于您自己的好奇心,您应该循环遍历 ColorSamplers 集合并查看其中包含哪些基础类型。该集合存储实现 ColorSampler 的对象(其中包含 SolidColorClass 属性),因此如果您知道哪些对象实现了该集合,则可以创建这些类型以传递到 Add 方法。

首先将首选项设置为像素,以假定您提供的所有值都是基于像素的。

Photoshop.Application appRef = default(Photoshop.Application);
appRef.Preferences.RulerUnits = PsUnits.psPixels;

foreach (ColorSampler sampler in appRef.ActiveDocument.ColorSamplers)
{
  // Check to see what underlying type a sampler is so you can try
  // and make instances of this to pass into the Add method.
  Console.WriteLine(sampler.GetType().FullName);
}

// Try add an object array of double values, based on the error message implied units could work.
// 'D' with convert the number literal to a 'double'.
appRef.ActiveDocument.ColorSamplers.Add(new object[] { 0.5D, 0.5D } );

关于C# 相当于此代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19177693/

相关文章:

c# - ASP.net bundler 会自动缩小文件吗?

c# - 获取在 FormsAuthenticationTicket 的 UserData 中设置的用户名

c# - WPF TreeView HierarchicalDataTemplate 获取 TreeViewItem

Photoshop 脚本 : Relink Smart Object

css - 在 Photoshop 和浏览器中看起来不同的字体

c# - Convert.ToBoolean(string) 和 Boolean.Parse(string) 有什么区别?

javascript - jspdf 和数学公式

javascript - 如何使用 jquery 清空最近的表?

javascript - 在 Meanjs 中,在 bower.json 中添加新库不会自动添加到配置文件中

c# - PSD 到 WPF XAML : Import is messed up