photoshop javascript图像大小调整和水印
我有几个图像水印。每个图像都有不同的分辨率和大小。我正在尝试将图像调整为300 x 225,并在调整后的图像底部添加带有文字的水印。除了水线大小不一致外,其他一切都正常。 最初,高分辨率图像具有较小的水印,而低分辨率图像具有非常大的水印。我正在将文本层作为水印添加到调整大小的图像中。我想我在添加文本层时缺少了一些设置。请帮忙photoshop javascript图像大小调整和水印,javascript,photoshop,Javascript,Photoshop,我有几个图像水印。每个图像都有不同的分辨率和大小。我正在尝试将图像调整为300 x 225,并在调整后的图像底部添加带有文字的水印。除了水线大小不一致外,其他一切都正常。 最初,高分辨率图像具有较小的水印,而低分辨率图像具有非常大的水印。我正在将文本层作为水印添加到调整大小的图像中。我想我在添加文本层时缺少了一些设置。请帮忙 ResizeImage (); CreateWatermark( ); function ResizeImage() { va
ResizeImage ();
CreateWatermark( );
function ResizeImage()
{
var MedWidth = UnitValue(300,"px");
var MedHeight = UnitValue(225,"px");
activeDocument.resizeImage(MedWidth,null,null,ResampleMethod.BICUBIC);
activeDocument.resizeCanvas(MedWidth,MedHeight,AnchorPosition.MIDDLECENTER);
}
function CreateWatermark( )
{
var fface = "Arial-BoldMT"
var size =6
// Add a new layer in the new document
var currentDoc = activeDocument;
var artLayerRef = app.activeDocument.artLayers.add()
artLayerRef.kind = LayerKind.TEXT
textColor = new SolidColor();
textColor.rgb.red = 245;
textColor.rgb.green = 7;
textColor.rgb.blue = 7;
textItemRef = artLayerRef.textItem
textItemRef.font = fface;
textItemRef.contents = 'picture provided by landlord';
textItemRef.color = textColor;
textItemRef.size = size
textItemRef.position = new Array(currentDoc.width-200, currentDoc.height-10)
activeDocument.activeLayer.name = "watermark";
activeDocument.activeLayer.textItem.justification = Justification.LEFT;
}
最有可能的情况是,您正在以点为单位设置
TextItem
的大小,并且图像的PPI不同。点是一种计量单位,取决于文档的PPI。因此,在打印时,给定大小(以点为单位)的文本的物理大小(以英寸为单位)相同
有两种方法可以使文本层的大小保持一致:
- 使用一致的PPI。
的第三个参数是分辨率(PPI)。尝试将其设置为96(计算机显示器的传统DPI) 使用一致的DPI时,字体大小也应一致Document#resizeImage
- 以像素而不是点为单位设置文本层的大小。
可以设置为TextItem#size
,这允许您指定要使用的测量单位。像素始终是像素,不依赖于文档的PPIUnitValue
textItemRef.size = new UnitValue(15, 'px');
两者都应该有效;你只需要用一个。我倾向于第一种选择。我根本不确定这与javascript有什么关系?请提供您编写的javascript代码,或者您的问题将被关闭。@GeorgeMauer:Photoshop有一个可以让您自动执行应用程序中大多数操作的程序。啊,我看到@josh3736在发表评论时,这个问题中没有代码,与一致的PPI很好地配合。谢谢。
textItemRef.size = new UnitValue(15, 'px');