1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Guión para montar 1-13x18, 2-6x9, y 12 DNI en un 20x30

Tema en 'Tutoriales Desarrollo Web' iniciado por ManoloWarr, 10 Mar 2005.

  1. ManoloWarr

    ManoloWarr Nuevo usuario

    Perdón si ha habido modificaciones
    Ha sido para poner el guión como "código" y no tenga errores para copiarlo


    Para ejecutarlo: copia el código completo y guárdalo con Bloc de notas de Windows con la extensión js
    (ejemplo: MiGuión1.js)
    Luego abre una foto en photoshop: te vas a archivo > guiones explorar y ejecutar.
    para tenerlo disponible siempre, guarda el guión en la carpeta "Guiones"
    C:Archivos de programaAdobePhotoshop CSAjustes preestablecidosGuiones

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->



    &nbsp;&nbsp;&nbsp;&nbsp;// guión creado por manolowarr

    &nbsp;&nbsp;&nbsp;&nbsp;var rsl = 254; // variable para la resolucion



    &nbsp;&nbsp;&nbsp;&nbsp;var strtRulerUnits = app.preferences.rulerUnits; // variable para la unidad de medida



    &nbsp;&nbsp;&nbsp;&nbsp;app.preferences.rulerUnits = Units.CM; // unidad de medidas centimetro



    &nbsp;&nbsp;&nbsp;&nbsp;var docRef = activeDocument.duplicate(); // duplicamos el documento

    &nbsp;&nbsp;&nbsp;&nbsp;

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.flatten(); // acoplar imagen



    &nbsp;&nbsp;&nbsp;&nbsp;var ctm = 72 / 2.54 // variable q hay que multiplicar el valor mover capa,

    // para especificar la medida en centimetros. Esto es nuevo en PS 8, ahora se mide en px de pantalla





    &nbsp;&nbsp;&nbsp;&nbsp;if &nbsp;(docRef.width.value > docRef.height.value) // si la imagen esta en horizontal la rotara

    &nbsp;&nbsp;&nbsp;&nbsp;{

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.rotateCanvas (-90);

    &nbsp;&nbsp;&nbsp;&nbsp;}



    &nbsp;&nbsp;&nbsp;&nbsp;var NuevoAlto = 18; // tamaño de imagen altura 18 cm

    &nbsp;&nbsp;&nbsp;&nbsp;var NuevoAncho = &nbsp;docRef.width.value * NuevoAlto / docRef.height.value;

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.resizeImage(NuevoAncho, NuevoAlto, rsl);





    &nbsp;&nbsp;&nbsp;&nbsp;var docRef = app.activeDocument; // volvemos hacer referencia al documento

    // (hay que hacerlo despues de haber cambiados las medidas)



    &nbsp;&nbsp;&nbsp;&nbsp;if &nbsp;(docRef.width.value > 13) // si ancho mayor de 13, lo reducira a 13 cm

    &nbsp;&nbsp;&nbsp;&nbsp;{

    &nbsp; &nbsp; &nbsp; var NuevoAncho = 13;

    &nbsp; &nbsp; &nbsp; var NuevoAlto = docRef.height.value * NuevoAncho / docRef.width.value;

    &nbsp; &nbsp; &nbsp; docRef.resizeImage(NuevoAncho, NuevoAlto, rsl);

    &nbsp;&nbsp;&nbsp;&nbsp;}



    &nbsp; &nbsp; &nbsp; &nbsp;var backColor = new SolidColor; // variable para color

    &nbsp;&nbsp;&nbsp;&nbsp;backColor.hsb.hue = 0;

    &nbsp;&nbsp;&nbsp;&nbsp;backColor.hsb.saturation = 0;

    &nbsp;&nbsp;&nbsp;&nbsp;backColor.hsb.brightness = 100;

    &nbsp;&nbsp;&nbsp;&nbsp;backgroundColor = backColor; // color de fondo blanco



    &nbsp;&nbsp;&nbsp;&nbsp;docRef.resizeCanvas(13, 18, AnchorPosition.MIDDLECENTER); // tamaño de lienzo 13x18



    &nbsp;var LayerRef = docRef.activeLayer; // hacemos referencias a la capa activa



    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.name = "Capa 0"; // convertir capa fondo en capa 0



    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;docRef.resizeCanvas(20, 30, AnchorPosition.MIDDLECENTER); &nbsp;// tamaño de lienzo 20x30

    &nbsp; &nbsp; &nbsp;

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(-3.2*ctm, -5.2*ctm); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;// 1º 6x9

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate(); // duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas&nbsp;&nbsp;&nbsp;&nbsp;

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;LayerRef.resize(46.2, 46.2); // escalar la capa a 46.2 %

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(9.9*ctm, -4.842*ctm); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;// 2º 6X9

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate(); // duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(0, 9.6*ctm); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;// DNI

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate(); // duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;LayerRef.resize(50, 50); // escalar la capa a 50 %

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(-14.77*ctm, 7.3*ctm); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate();// duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(3.2*ctm, 0); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate();// duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(3.2*ctm, 0); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate();// duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(3.2*ctm, 0); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate();// duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(3.2*ctm, 0); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate();// duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(3.2*ctm, 0); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.merge(); // combinar hacia abajo



    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.merge(); //combinar hacia abajo



    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.merge(); // combinar hacia abajo



    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.merge(); // combinar hacia abajo



    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.merge(); // combinar hacia abajo



    &nbsp;&nbsp;&nbsp;&nbsp;

    &nbsp;&nbsp;&nbsp;&nbsp;// duplicar &nbsp;6 DNI

    &nbsp;&nbsp;&nbsp;&nbsp;docRef.activeLayer = activeDocument.layers[0]; // hacemos activa la capa que esta arriba de todas

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef = docRef.activeLayer; // hacemos referencia a esa capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.duplicate();// duplicar capa

    &nbsp;&nbsp;&nbsp;&nbsp;LayerRef.translate(0, 5.2*ctm); // mover la capa a esas coordenadas



    &nbsp;&nbsp;&nbsp;&nbsp;docRef.flatten(); // acopla imagen



    &nbsp;&nbsp;&nbsp;&nbsp;app.preferences.rulerUnits = strtRulerUnits; // reestablecer la unidad de medida





    <!--c2--></div><!--ec2-->

    Saludos
     
  2.  
  3. ManoloWarr

    ManoloWarr Nuevo usuario

    Por cierto, en los próximos días pondré más, y también colocare los guiones que se han perdido, en el desastre que ha sufrido el foro.
    Y para los que habéis probado el Guión Tarjetas y el Guión 640 px , tengo que deciros que tiene un pequeño error en los tamaños de imágenes, ya lo he solucionado.
    Lo volveré a subir cundo lo tenga comprobado al 100 %
    Saludos a todos
     
  4. Manis

    Manis Nuevo usuario

    Muchas gracias Manolo Warr. Funciona de maravilla.
    <a href="http://img147.exs.cx/my.php?loc=img147&image=fondocopia7dz.jpg" target="_blank"><img src="http://img147.exs.cx/img147/2784/fondocopia7dz.th.jpg" border="0" alt="Imagen IPB" /></a>
     
  5. Neo

    Neo Nuevo usuario

    gracias por compartirlo

    saludos 8)
     
  6. creativo

    creativo Nuevo usuario

    Hombre que bién por tu aportación, el tema de los scripts en Photoshop esta casi totalmente virgen en esta comunidad. Por lo que todo lo que aportes al respecto va a ser muy intresante.

    gracias :D
     
  7. pepesaura

    pepesaura Usuario activo

    ManoloWarr: no recuerdo si hemos charlado alguna vez sobre el tema, pero yo administré durante algún tiempo un foro dedicado al tema de los 'scripts' para Photoshop.

    Antes de estudiar tu script quería hacerte un comentario: en muchos libros sobre programación que he leído se aconseja comentar el código. La costumbre de añadir en el mismo código algunas líneas que informen sobre el significado de las variables, la función de una serie de líneas, etc. son muy útiles para quienes han de aplicarlos o analizarlos, incluyendo al propio autor que, cuando pasado un tiempo quiere revisar sus propios guiones no recuerda bien cómo los hizo.

    Espero que cuelgues esos otros para comentarlos contigo ¿ok?

    Un saludo.
     
  8. ManoloWarr

    ManoloWarr Nuevo usuario

    ya está modificado
    saludos
     
  9. pepesaura

    pepesaura Usuario activo

    Gracias ManoloWarr, así me resulta más fácil de entender.

    Yo pondría la variable rsl=254 al principio del código haciendo notar que se puede editar a voluntad según la resolución que necesite el laboratorio. El mío tabaja a 200 ppp. Es mejor cambiar eso que tener que volver a remuestrear el lote al final. ¿No crees?
     
  10. ManoloWarr

    ManoloWarr Nuevo usuario

    Ppsaura, en lo de la variable de la resolución llevar razón, lo correcto sería colocarla al principio. Pero me pareció que, para las personas que desconozca el tema , entendería mejor el código y la formula si estuvieran cerca.


    var NuevoAlto = 18; // tamaño de imagen altura 18 cm
    var rsl = 254; // resolución del documento
    var NuevoAncho = docRef.width.value * NuevoAlto / docRef.height.value;
    docRef.resizeImage(NuevoAncho, NuevoAlto, rsl);

    por cierto la formula, que también se podía haber hecho como una “Función” la he creado yo; Adobe sólo te dice :
    resizeImage Changes the size of the image
    width as UnitValue
    height as UnitValue
    resolution as Double
    resampleMethod as ResampleMethod
    ResampleMethod.BICUBIC
    ResampleMethod.BICUBICSHARPER
    ResampleMethod.BICUBICSMOOTHER
    ResampleMethod.BILINEAR
    ResampleMethod.NEARESTNEIGHBOR
    ResampleMethod.NONE

    Pero no puedes cambiar sólo uno de los dos tamaño, como hacemos en Photoshop “Tamaño de Imagen”. Para que funcione tienes que crear una formula, o especificar el alto y el ancho.

    Saludos
     
  11. fol69

    fol69 Nuevo usuario

    Gracias ManoloWarr
    saludos :D :D :D
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·