Pregunta

Estoy buscando para hacer una acción de Photoshop (tal vez esto no sea posible, cualquier otra recomendación de aplicación serían útiles también). Quiero tomar una colección de fotos y les hago una cierta relación de aspecto, por ejemplo: 4: 3.

Así que tengo una imagen que es 150 píxeles de ancho por 200 píxeles de alto. Lo que me gustaría que suceda es el lienzo de la imagen se hace para ser 267px de ancho, con la nueva zona llena de un color determinado.

Así que hay dos posibilidades que se me ocurren:

1) las acciones de Photoshop podrían hacerlo, pero tendrían que tirar de altura actual, se multiplica por 1.333333 y luego poner ese valor en la caja de cambio de tamaño ancho de la tela. ¿Es posible haber calculado los valores de las acciones de Photoshop?

2) alguna otra aplicación tiene esta característica incorporada.

Cualquier ayuda es muy apreciada.

¿Fue útil?

Solución

Vaya, veo ahora (después de escribir la respuesta) que esta se le preguntó hace mucho tiempo. . . Oh bien. Este script hace el truco.

Este script Photoshop cambiará el tamaño de la lona de cualquier imagen de modo que tenga una proporción de 4: 5. Puede cambiar la relación de aspecto aplicada al cambiar arWidth y arHeight. El color de relleno se establece en el color de fondo actual. Se puede crear una acción para abrir un archivo, aplicar esta secuencia de comandos, a continuación, cierre el archivo para hacer un proceso por lotes.

Apagar Photoshop.
Copia este javascript en un nuevo archivo llamado "cambio de tamaño Canvas.jsx" en los preajustes de Photoshop \ carpeta de scripts.
Inicie Photoshop y en el Archivo -. Menú de secuencias de comandos debe aparecer

#target photoshop

main ();

function main ()
{
    if (app.documents.length < 1)
    {
        alert ("No document open to resize.");
        return;
    }

    // These can be changed to create images with different aspect ratios.
    var arHeight = 4;
    var arWidth = 5;

    // Apply the resize to Photoshop's active (selected) document.
    var doc = app.activeDocument;

    // Get the image size in pixels.
    var pixelWidth = new UnitValue (doc.width, doc.width.type);
    var pixelHeight = new UnitValue (doc.height, doc.height.type);
    pixelWidth.convert ('px');
    pixelHeight.convert ('px');

    // Determine the target aspect ratio and the current aspect ratio of the image.
    var targetAr = arWidth / arHeight;
    var sourceAr = pixelWidth / pixelHeight;

    // Start by setting the current dimensions.
    var resizedWidth = pixelWidth;
    var resizedHeight = pixelHeight;

    // The source image aspect ratio determines which dimension, if any, needs to be changed.
    if (sourceAr < targetAr)
        resizedWidth = (arWidth * pixelHeight) / arHeight;
    else
        resizedHeight = (arHeight * pixelWidth) / arWidth;

    // Apply the change to the image.
    doc.resizeCanvas (resizedWidth, resizedHeight, AnchorPosition.MIDDLECENTER);
}

Otros consejos

¿Qué idiomas conoce? ImageMagick tiene herramientas de línea de comandos que pueden hacer esto, pero usted necesita saber un lenguaje de script para obtener los valores y calcular los nuevos.

Para .NET, producto de mi empresa, DotImage Foto , es libre y puede hacer esto (necesidad de saber C # o VB.NET)

mente que la respuesta aceptada de @ user268911 puede no funcionar para usted si la imagen de origen tiene diferentes píxeles / pulgada de 72. Debido a que el UnitValue.convert función funciona correctamente sólo con 72 píxeles / pulgada. Para asegurarse de que la conversión es correcta por píxel siempre / valor pulgadas, sistema de baseUnit propiedad como sigue:

 ...
 var pixelWidth = new UnitValue (doc.width, doc.width.type);
 pixelWidth.baseUnit = UnitValue (doc.width.baseUnit, "in");
 var pixelHeight = new UnitValue (doc.height, doc.height.type);
 pixelHeight.baseUnit = UnitValue (doc.height.baseUnit, "in");
 ...

Para más detalles sobre la sede de conversión "Conversión de los valores de píxel y porcentuales" sección de la Herramientas Adobe JavaScript Guía .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top