gpt4 book ai didi

javascript - photoshop javascript 调整图像大小和水印

转载 作者:行者123 更新时间:2023-11-28 08:22:37 25 4
gpt4 key购买 nike

我有几张图像要加水印。每个图像都有不同的分辨率和尺寸。我正在尝试将图像大小调整为 300 x 225,并在调整大小的图像底部添加水印和文本。除了水印大小不一致之外,一切正常。本来,高分辨率图像的水印较小,而分辨率较低的图像水印很大。我将文本图层添加到调整大小的图像作为水印。我认为添加文本图层时缺少一些设置。请帮忙。

    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。

    Document#resizeImage 的第三个参数是分辨率 (PPI)。尝试将其设置为 96(计算机显示器的传统 DPI)。

    activeDocument.resizeImage(MedWidth, null, 96, ResampleMethod.BICUBIC);

    在 DPI 一致的情况下,字体大小也应该一致。

  • 以像素而不是点为单位设置文本图层的大小。

    TextItem#size 可以设置为 UnitValue,它允许您指定要使用的测量单位。像素始终是像素,不依赖于文档的 PPI。

    textItemRef.size = new UnitValue(15, 'px');

要么应该有效;要么您只需要使用一个。我倾向于第一种选择。

关于javascript - photoshop javascript 调整图像大小和水印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22794436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com