manolowarr
22/10/05, 21:27:35
Este es mi último Script, me gustaría porfa que veáis el código y leáis los comentarios verdes
y luego me digáis si sois capaz de hacerlo manualmente sin el script
y si habéis aprendido como se hace sin usar el script.
La pregunta es ¿Se puede considerar tutorial o mini tutorial?
Porfa responderme.
AQUI (http://www.foro-creativo.com/Scripts/nuevos2.html) podéis ver ejemplos en mi página y descargar el script
y aquí tenéis el código.
// ************************************************** *****
// Viñeta_ En_Mascara © manolowarr 2005
// ************************************************** *****
var docRef = activeDocument; // Hacemos referencia a la foto activa, esto es sólo para JavaScript.
var docResolution = Number(docRef.resolution); // Guardamos en una variable la resolución del documento.
//*************************************************
// el siguiente bloque es sólo para JavaScript.
function getCSVersion() {
return parseInt(version);
}
var mfactor = 1;
if (getCSVersion() > 7 && preferences.rulerUnits == Units.CM){
mfactor = 72 / 2.54; // CM
}
if (getCSVersion() > 7 && preferences.rulerUnits == Units.PIXELS) {
mfactor = 72 / docResolution; // PIXELS
}
var rfactor = 1;
if (getCSVersion() > 8 ) {
rfactor = Number(docResolution / 72);
}
//*************************************************
docRef.flatten(); // Acoplamos la imagen.
docRef.activeLayer.isBackgroundLayer = false; // Hacemos capa, de la Capa Fondo, es decir la convertimos en Capa 0.
var openFile = File.openDialog("Selecciona la viñeta para la mascara - ©manolowarr2005", "JPEG:*.jpg"); // Seleccionamos el archivo de la viñeta que vamos a utilizar para la máscara.
open (openFile); // Abrimos el archivo seleccionado.
var docRefMask = activeDocument; // Hacemos referencia a la foto activa, esto es sólo para JavaScript.
if (docRef.width.value > docRef.height.value) // Si la máscara está vertical u horizontal y distinto que nuestra foto, se rotará.
{
docRefMask.rotateCanvas(-90); // Rotar la imagen, si se cumple la anterior condición.
}
docRefMask.resizeImage (docRef.width*rfactor, docRef.height*rfactor, docResolution, ResampleMethod.BICUBIC); // Ajustar el tamaño de la máscara al de nuestra foto, con Imagen > tamaño de imagen.
docRefMask.activeLayer.copy(); // Copiamos en el portapapeles la viñeta.
docRefMask.close(SaveOptions.DONOTSAVECHANGES); // Cerramos el archivo de la viñeta y no guardamos cambio.
activeDocument.selection.selectAll(); // Seleccionamos todo en nuestra foto, Selección > Seleccionar todo.
// Los siguientes códigos son funciones de Photoshop, paso a explicarlo en bloques.
// Creamos una máscara de capa, Capa > Hacer máscara de Capa.
// ================================================== =====
var id40 = charIDToTypeID( "Mk " );
var desc10 = new ActionDescriptor();
var id41 = charIDToTypeID( "Nw " );
var id42 = charIDToTypeID( "Chnl" );
desc10.putClass( id41, id42 );
var id43 = charIDToTypeID( "At " );
var ref7 = new ActionReference();
var id44 = charIDToTypeID( "Chnl" );
var id45 = charIDToTypeID( "Chnl" );
var id46 = charIDToTypeID( "Msk " );
ref7.putEnumerated( id44, id45, id46 );
desc10.putReference( id43, ref7 );
var id47 = charIDToTypeID( "Usng" );
var id48 = charIDToTypeID( "UsrM" );
var id49 = charIDToTypeID( "RvlS" );
desc10.putEnumerated( id47, id48, id49 );
executeAction( id40, desc10, DialogModes.NO );
// ================================================== =====
// Selecionamos la mascara de Capa. (aguantando la tecla Alt. hacemos clic en la máscara).
var id50 = charIDToTypeID( "slct" );
var desc11 = new ActionDescriptor();
var id51 = charIDToTypeID( "null" );
var ref8 = new ActionReference();
var id52 = charIDToTypeID( "Chnl" );
var id53 = charIDToTypeID( "Ordn" );
var id54 = charIDToTypeID( "Trgt" );
ref8.putEnumerated( id52, id53, id54 );
desc11.putReference( id51, ref8 );
var id55 = charIDToTypeID( "MkVs" );
desc11.putBoolean( id55, true );
executeAction( id50, desc11, DialogModes.NO );
// ================================================== =====
// Pegamos la viñeta que está en el portapapeles.
docRef.paste()
// ================================================== =====
// Deseleccionamos
activeDocument.selection.deselect();
// Activamos el ojo de la Capa 0.
activeDocument.activeChannels = activeDocument.componentChannels;
// Acopla imagen.
docRef.flatten();
PD: si queréis ver los comentarios de color en los Script anteriores y que ya tenéis, deberéis de usar un editor web, yo uso Editplus2, aunque esta en ingles, en español tenéis Notepad++ y es gratis.
http://www.foro-creativo.com/files/vfoto3_177.jpg
http://www.foro-creativo.com/files/vfoto2_594.jpg
http://www.foro-creativo.com/files/vfoto1_198.jpg
EDITO Y AÑADO: En los próximos días añadiré más viñetas que tengo hechas, pero los tengo que adaptar al script.
Y si queréis fabricar ustedes viñetas es muy fácil: hacéis un documento nuevo, lo rellenáis de negro y con pincel pintáis de blanco y grices la zona que deba aparecer la imagen, también podéis luego aplicar filtros, que con los que hay en Photoshop podéis crear efecto de viñetas espectaculares.
y luego me digáis si sois capaz de hacerlo manualmente sin el script
y si habéis aprendido como se hace sin usar el script.
La pregunta es ¿Se puede considerar tutorial o mini tutorial?
Porfa responderme.
AQUI (http://www.foro-creativo.com/Scripts/nuevos2.html) podéis ver ejemplos en mi página y descargar el script
y aquí tenéis el código.
// ************************************************** *****
// Viñeta_ En_Mascara © manolowarr 2005
// ************************************************** *****
var docRef = activeDocument; // Hacemos referencia a la foto activa, esto es sólo para JavaScript.
var docResolution = Number(docRef.resolution); // Guardamos en una variable la resolución del documento.
//*************************************************
// el siguiente bloque es sólo para JavaScript.
function getCSVersion() {
return parseInt(version);
}
var mfactor = 1;
if (getCSVersion() > 7 && preferences.rulerUnits == Units.CM){
mfactor = 72 / 2.54; // CM
}
if (getCSVersion() > 7 && preferences.rulerUnits == Units.PIXELS) {
mfactor = 72 / docResolution; // PIXELS
}
var rfactor = 1;
if (getCSVersion() > 8 ) {
rfactor = Number(docResolution / 72);
}
//*************************************************
docRef.flatten(); // Acoplamos la imagen.
docRef.activeLayer.isBackgroundLayer = false; // Hacemos capa, de la Capa Fondo, es decir la convertimos en Capa 0.
var openFile = File.openDialog("Selecciona la viñeta para la mascara - ©manolowarr2005", "JPEG:*.jpg"); // Seleccionamos el archivo de la viñeta que vamos a utilizar para la máscara.
open (openFile); // Abrimos el archivo seleccionado.
var docRefMask = activeDocument; // Hacemos referencia a la foto activa, esto es sólo para JavaScript.
if (docRef.width.value > docRef.height.value) // Si la máscara está vertical u horizontal y distinto que nuestra foto, se rotará.
{
docRefMask.rotateCanvas(-90); // Rotar la imagen, si se cumple la anterior condición.
}
docRefMask.resizeImage (docRef.width*rfactor, docRef.height*rfactor, docResolution, ResampleMethod.BICUBIC); // Ajustar el tamaño de la máscara al de nuestra foto, con Imagen > tamaño de imagen.
docRefMask.activeLayer.copy(); // Copiamos en el portapapeles la viñeta.
docRefMask.close(SaveOptions.DONOTSAVECHANGES); // Cerramos el archivo de la viñeta y no guardamos cambio.
activeDocument.selection.selectAll(); // Seleccionamos todo en nuestra foto, Selección > Seleccionar todo.
// Los siguientes códigos son funciones de Photoshop, paso a explicarlo en bloques.
// Creamos una máscara de capa, Capa > Hacer máscara de Capa.
// ================================================== =====
var id40 = charIDToTypeID( "Mk " );
var desc10 = new ActionDescriptor();
var id41 = charIDToTypeID( "Nw " );
var id42 = charIDToTypeID( "Chnl" );
desc10.putClass( id41, id42 );
var id43 = charIDToTypeID( "At " );
var ref7 = new ActionReference();
var id44 = charIDToTypeID( "Chnl" );
var id45 = charIDToTypeID( "Chnl" );
var id46 = charIDToTypeID( "Msk " );
ref7.putEnumerated( id44, id45, id46 );
desc10.putReference( id43, ref7 );
var id47 = charIDToTypeID( "Usng" );
var id48 = charIDToTypeID( "UsrM" );
var id49 = charIDToTypeID( "RvlS" );
desc10.putEnumerated( id47, id48, id49 );
executeAction( id40, desc10, DialogModes.NO );
// ================================================== =====
// Selecionamos la mascara de Capa. (aguantando la tecla Alt. hacemos clic en la máscara).
var id50 = charIDToTypeID( "slct" );
var desc11 = new ActionDescriptor();
var id51 = charIDToTypeID( "null" );
var ref8 = new ActionReference();
var id52 = charIDToTypeID( "Chnl" );
var id53 = charIDToTypeID( "Ordn" );
var id54 = charIDToTypeID( "Trgt" );
ref8.putEnumerated( id52, id53, id54 );
desc11.putReference( id51, ref8 );
var id55 = charIDToTypeID( "MkVs" );
desc11.putBoolean( id55, true );
executeAction( id50, desc11, DialogModes.NO );
// ================================================== =====
// Pegamos la viñeta que está en el portapapeles.
docRef.paste()
// ================================================== =====
// Deseleccionamos
activeDocument.selection.deselect();
// Activamos el ojo de la Capa 0.
activeDocument.activeChannels = activeDocument.componentChannels;
// Acopla imagen.
docRef.flatten();
PD: si queréis ver los comentarios de color en los Script anteriores y que ya tenéis, deberéis de usar un editor web, yo uso Editplus2, aunque esta en ingles, en español tenéis Notepad++ y es gratis.
http://www.foro-creativo.com/files/vfoto3_177.jpg
http://www.foro-creativo.com/files/vfoto2_594.jpg
http://www.foro-creativo.com/files/vfoto1_198.jpg
EDITO Y AÑADO: En los próximos días añadiré más viñetas que tengo hechas, pero los tengo que adaptar al script.
Y si queréis fabricar ustedes viñetas es muy fácil: hacéis un documento nuevo, lo rellenáis de negro y con pincel pintáis de blanco y grices la zona que deba aparecer la imagen, también podéis luego aplicar filtros, que con los que hay en Photoshop podéis crear efecto de viñetas espectaculares.