PDA

Ver la Versión Completa : Ayuda MarcoExif2



Tesafil
24/05/06, 01:11:38
Buenas.

Pues que el muy melón no me lee los datos Exif de las fotos. Se ejecuta correctamente pero siempre dice que no hay datos... :twisted:
Cagoento...

Gracias
:wink:

biketrialero
24/05/06, 01:33:05
Tesafil no se de donde te lo has bajado, pero ya han comentado unos cuantos foreros lo mismo.

Creo q ahí otra versión por alguna Web q funciona perfectamente.

Un saludo.

El-Miguel
24/05/06, 06:25:36
No sé si es de aquí, pero bueno, mírate esta página

scripts (http://scriptsparaphotoshop.com)

Espero haberte ayudado. Si sigue sin funcionar dimelo y te envio el mio.

El Pirata Robert
24/05/06, 06:43:35
Y si aun así no te funciona, me lo dices y te lo mando por correo

Tesafil
25/05/06, 00:04:23
El-miguel, me lo he bajado de ahí,... si precisamente me estube leyendo la tira de hilos antes de molestar a nadie...
Incluso me he mirado el código haber si podía entender algo... y claro, va a ser que no.
Si el de este web está bien, me da que pensar que lo mismo el fallo está en mi equipo...

Mario
25/05/06, 00:18:10
Tesafil a mi me pasó lo mismo hasta que me di cuenta de que hay dos scripts, el marcoexif y el marcoexif2. El primero sólo funciona con PS CS y el segundo con PS CS2. Mira a ver si es eso.

Saludos,

El-Miguel
25/05/06, 10:31:01
También mira que las fotos que intentas ponerle los datos los tenga, que no las hayas guardado para web o algo así :roll:

Tesafil
25/05/06, 23:15:52
Pues si que tiene los datos y utilizo el marcoexif2 con el CS2...
Hacemos un tema. Pirata si no te importa, ¿te molestaría mucho enviármelo por correo a tesafil@ya.com?.

Y si no funciona, pues a ponerlo a mano y punto.
Es que soy una ameba... :lol: :lol:

Gracias chicos.

El Pirata Robert
25/05/06, 23:18:11
Enviado ya me contaras que tal te va.

Tesafil
26/05/06, 23:38:51
Eeehhh...!!! ese pirataaaaa.

Funciona de coña, perfecto. Por cierto, muy original la forma de firmar el correo, como mola lo de la foto!!!

Muchas gracias campeón.

:D :D

Norton
27/05/06, 12:34:05
Enviado ya me contaras que tal te va.

Me los puedes mandar a mi, descargue datosExif y datosExif_txt y los dos me hace lo mismo, me sale una pantalla con todos los datos, pero en la foto no me salen. Gracias

bailacera@hotmail.com 8)

El Pirata Robert
27/05/06, 13:15:58
Norton ya te lo he enviado, espero que tambien te funcione

Norton
27/05/06, 16:06:56
Gracias, lo acabo de abrir, pero se sale en formato texto, no es un archivo, me puedes decir, como lo debo de guardar.

Norton
27/05/06, 16:33:29
Lo guarde en formato .jsx y me sale Error 18, :cry: sabe alguien como puedo arreglarlo.

Tesafil
27/05/06, 23:42:28
Pues ni flores. Yo lo copié tal cual y funcionó a la primera. Lamento no poder ayudarte

deivid
28/05/06, 01:15:09
Tesafil ,NOrton ;Pirata me lo podriais mandar ?? yo tampoco lo tengo y por lo que veo va bien .
os dejo correo si os viene bien mandarlo claro .

Dserranoaceituno@hotmail.com
UN saludo
Deivid

Tesafil
28/05/06, 02:45:15
Ya está enviado.

El Pirata Robert
28/05/06, 04:35:03
Hay que copiarlo aquí C:\Archivos de programa\Adobe\Adobe Photoshop CS2\Scripting Guide\Sample Scripts\JavaScript\

El-Miguel
28/05/06, 07:34:08
Eeehhh...!!! ese pirataaaaa.

muy original la forma de firmar el correo, como mola lo de la foto!!!



Me pica la curiosidad... mándeme un correo a mi también, aunque sea para ver la foto :wink:

Norton
28/05/06, 08:44:09
Hay que copiarlo aquí C:\Archivos de programa\Adobe\Adobe Photoshop CS2\Scripting Guide\Sample Scripts\JavaScript\

Gracias por tu ayuda Pirata, pero continua sin funcionarme :cry: , no encuentro la carpeta Scripting Guide, ahora lo tengo en:
C:\Archivos de programa\Adobe\Adobe Photoshop CS2\Ajustes preestablecidos\Guiones y me sale error. :twisted:

?Alguna sugerencia¿ :wink:

Gracias

El-Miguel
28/05/06, 09:16:36
Te pongo una direccion con un videotutorial, a ver si te ayuda

videotutorial (http://www.decamaras.com/CMS/content/view/560/81) :wink:

deivid
28/05/06, 10:15:58
MUchas gracias Tesafil bueno atodos .
Joer con estos tutoriales quien no le pone marco alas fotos ??hasta los cazurros como yo somos capaces ;bueno lo he dicho muy pronto voy a ver .
Un saludo
Deivid

Norton
30/05/06, 00:49:53
Bueno, pues al final funciono, primero era un problema del archivo, que lo cree yo, al guardarmelo en formato para el Dreamweaver, despues no tenia los colores del fondo y frontal bien puestos, los tenia en blanco. :P

Gracias por vuestra ayuda. :wink:

El Pirata Robert
30/05/06, 01:19:51
Me alegro que al final todo se solucionara Norton.

El-Miguel
30/05/06, 10:52:19
Pos venga, a enmarcar se ha dicho :!:

cayro
01/06/06, 11:48:27
imagino que os habreis dado cuenta, pero podeis modificar el fichero jsx para que muestre alguna cosa mas.. por ejemplo el modo en que esta hecha la foto....

var MyExif = "Cámara: " + ExifNumber("0272") + ", " + "Velocidad: " + ExifNumber("3434") + ", " + "Diafragma: " + ExifNumber("3437") + ",\r" + "distancia focal: " + ExifNumber("7386") + ", " + "ISO: " + myIso + ", " + "Fecha: " + ExifNumber("6867") + ", " + "Modo: " + ExifNumber("4850")

Estos numeritos se obtienen pasando el codigo de el dato exif Hexadecimal a decimal y quedandote con los 4 ultimos digitos..
Este codigo lo muestra por ejemplo el ExifPro al ver los datos exif en la pantalla de info.

Modo P,M, Av, TV etccc viene como 8822 HEx a Dec seria 34850 (4850)...

Tb podieis modificar la letra y demas configuraciones, para que quede como mas os guste.

El-Miguel
01/06/06, 12:13:11
Gracias por la info. tengo que mirarlo.

Otra duda que se me plantea es que en las fotos en vertical, del dato del diafragma, como tenga dos dígitos, uno no sale, parece que disparas en f1 :wink:

Se puede retocar ese parámetro para que el marco sea un poco más ancho?

Gracias.

cayro
01/06/06, 13:36:51
puedes cambiarle el tipo de letra a mas estrecho o quitar lo de diafragma y poner "f" o cosas asi.

Norton
01/06/06, 13:47:20
cayro, hay alguna manera, para que te salga la fecha tal como la leemos nosotros DD/MM/AA, ahora sale el tipo AA/MM/DD. La verdad es que es insignificante, pero es mas facil de leer. :)

El Pirata Robert
01/06/06, 15:39:25
Muchas gracias cayro, lo veo muy interesante.

cayro
01/06/06, 17:19:17
Norton... pues en plan chapuza y haciendlo asi deprisa sin tener ni idea de javaSript (que me perdonen los que lo manejan) ,... este cambio pone la fecha en formato DD/MM/AAAA

Cambiar esta funcion en el fichero...

//************************************************** ***************************************
function ExifNumber(n) { // function para extraer los datos exif, segun numero que pasemos

var docRef = activeDocument

var dato = docRef.info.exif

dato = dato.join()

var p = dato.indexOf(n)

if ( p > 0 ){

p = p+n.length

var dato = dato.slice(p)

var f = dato.indexOf(",")

dato = dato.substring(0, f )

if (n == 6867 ) {
return dato.substring(10,12)+"/"+dato.substring(7,9)+"/"+dato.substring(2,6)
}
else return dato

}

else{

dato = " no hay datos"

return dato
}

}
//************************************************** ******************************************

Norton
01/06/06, 19:22:13
:sleeping Ni idea, no se como se hace, ni donde colocarlo, con esto que tu dices, se puede modificar el marcoexif2. :(

:aplausos Gracias por tu ayuda

El-Miguel
01/06/06, 21:15:50
creo que puedes editar el marco con el bloc de notas...

cayro
01/06/06, 21:59:08
http://www.canonistas.com/foro/album_pic.php?pic_id=9768

Imagino que querias algo asi.
Bueno, hablo sin conocimiento ninguno, lo del jsx y todo esto lo descubri ayer, pero segun veo es un lenguaje, que segun parece es como el javaScript (o igual no lo se, porque tampoco se javaScript), ... por tanto lo que hago es trapichear el codigo.

Entonces el marcoExif2.jsx es codigo editable desde cualquier editor de texto. Se modifica se graba y ya esta, se ejecuta al cargarlo mediante la opcion de menu Archivo->Guiones->Explorar y cargar el fichero modificado

Lo que puse antes en la modificacion de la parte del fichero que he modificado...(sigo diciendo que es una modificacion chapuza porque nunca he visto javasript, pero haciendo esta ñapa hace lo que queremos)
Lo unico que teneis que hacer el abrir el original con cualquier editor ir a la linea 145 y borrar de ahi hasta abajo y pegar el codigo que hay en rojo, grabar y ya esta... debe salir la fecha en formato normal. (le he quitado la hora )...
si no me explico, os mando el fichero por correo.

Norton
01/06/06, 22:00:12
:aplausos Gracias por vuestra ayuda, ya esta solucionado, a veces uno tiene que pensar un poco lo que le dicen :lol: , una vez lo sabes es facil, GRACIAS cayro.

Una vez puesto, no sabras como colocar algo mas :) , lo digo porque como sobra espacio. :lol:

El-Miguel, a mi se me abre solo, le doy con el raton encima, se pone a buscar el programa para abrilo y como no lo encuentra, le doy a cancelar y se abre, le hice las modificaciones, save y a funcionar :P BIEN.

Norton
01/06/06, 22:03:28
Nos cruzamos los mensajes :) , no me fije con lo de la hora, ? se puede poner¿, siempre es una buena referencia, saber a la hora que se tomo la foto. :wink:

GRACIAS

cayro
01/06/06, 22:14:35
Norton, mira que dato exif le podemos poner mas y si conseguimos el codigo que tiene ese dato, se podrá poner... y si hay que ampliar el marco y meter otra linea , imagino que se podra hacer tb...
Igual soy un poco optimista ... :P :P :P
Pero ya mañana que le tengo que poner el bibe al peke....
Saludos.

Norton
01/06/06, 22:20:19
O.K., no se, la hora me parece interesante. :D

No te entretengo mas, si pienso en algo, ya lo comentaria, gracias por tu ayuda.

cayro
02/06/06, 13:18:51
ejemplo:
http://www.canonistas.com/foro/album_pic.php?pic_id=9800

Como veis el tema de la fecha esta solucionado...
A parte en hay una version de este marco que he descargado de la pagina de ScriptPhotoshop que se llama MarcoTaca.jsx, que en lugar de modificarte la imagen original , modifica una copia , le pone el marco y la graba en el escritorio con el tamaño que se indica en el *.jsx
Le he puesto el tamaño max que admite el foro (1382px) para que se pueda subir directamente la foto con el marco sin tener que estar luego redimensionando..
Para poner el nombre del autor cambiar la linea 11
ejemplo:
var tuNombre = "Tu Nombre" --> var tuNombre = "Cayro"


ya que no puedo poner el fichero por ftp , pongo el codigo en el siguiente post... solo hay que copiarlo, ponerlo en un editor de texto y grabarlo con extension *.jsx

Nota: No se si funcionara en todas la versiones de Pshop ni con todas la camaras, ya que toqueteo a ciegas, si alguien sabe JavaScript que arregle los cambios chapucillas que he hecho ... :P :P :P

cayro
02/06/06, 13:20:46
//************************************************** *****************************
// PUEDES MODIFICAR ESTAS VARIABLES
var AnchoMarco = 5 // valor en porcentaje del tamaño del documento, ej: para 5% poner solo 5
var AnchoTrazo = 10 // Anchura del trazo en mil por ciento del tamaño del documento
// en un documento de 640 px el 5 equivale mas o menos a 3 px
var TamanioLetra = 16 // Variable para el tamaño letra, en porcentaje
var tipoLetra = "Impact" // Nombre de la letra para datos exif
var MyFolder = "~/Escritorio/" // Ruta de la carpeta donde se guardara los archivos
var FileSize = 99000 // Tamaño de archivo en bytes
var LadoMayor = 1382 // lado Mayor en Pixel
var tuNombre = "Tu Nombre"

//************************************************** *****************************
//************************************************** *****************************
var strtRulerUnits = preferences.rulerUnits
preferences.rulerUnits = Units.CM
var originalDoc = activeDocument
var docRef = activeDocument.duplicate()
var docResolution = Number(docRef.resolution)
//*********************************************
//*************************************************

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 && preferences.rulerUnits == Units.CM ) {
rfactor = Number(docResolution / 72) // CM
}
if (getCSVersion() > 8 && preferences.rulerUnits == Units.PIXELS ) {
rfactor = 1 // PIXELS
}
//*************************************************
//*********************************************

docRef.flatten()

var wh = Number(docRef.width)

if (docRef.width < docRef.height ){
wh = Number(docRef.height)
}

var cLetra = Number(TamanioLetra / 0.30)
cLetra = Number(wh * cLetra / 100)

var ElColor = foregroundColor
var ElColor2 = backgroundColor

var i = Number(wh * AnchoMarco / 100)
var h = Number(wh * AnchoTrazo / 1000)

backgroundColor = ElColor
docRef.resizeCanvas(docRef.width+h, docRef.height+h, AnchorPosition.MIDDLECENTER)

backgroundColor = ElColor2
docRef.resizeCanvas(docRef.width+i, docRef.height+i, AnchorPosition.MIDDLECENTER)


backgroundColor = ElColor2
docRef.resizeCanvas(docRef.width, docRef.height+i*1.25, AnchorPosition.TOPCENTER)

//************************************************** ***********************************
var myIso = ExifNumber("4855")
if (myIso == " no hay datos" ){
myIso = "Auto"
}

var MyExif = "Cámara: " + ExifNumber("0272") + ", " + "Velocidad: " + ExifNumber("3434") + ", " + "Diafragma: " + ExifNumber("3437") + ",\r" + "Dist.Focal: " + ExifNumber("7386") + ", " + "ISO: " + myIso +
", " + "Medicion Exp: " + ExifNumber("7383")+ ", " + "Modo: " + ExifNumber("4850") + "\r" + "Autor: " + tuNombre + ", " + "Fecha: " + formateaFecha(ExifNumber("6867"))

TextLayer=docRef.artLayers.add()
TextLayer.kind = LayerKind.TEXT
TextLayer.textItem.color = ElColor
TextLayer.textItem.size = cLetra
TextLayer.textItem.font = tipoLetra
TextLayer.textItem.position = [i/2,docRef.height - i*1.20]
TextLayer.textItem.contents= MyExif

//************************************************** ***********************************

preferences.rulerUnits = Units.PIXELS

if (docRef.width > docRef.height){
NuevoAncho(LadoMayor, 72)
}
else{
NuevoAlto(LadoMayor, 72)
}

//*******************************
foregroundColor = ElColor
backgroundColor = ElColor2
preferences.rulerUnits = strtRulerUnits
//************************************************** *****************************

docRef.flatten();
var MyFile = noneExtension( originalDoc.name )
MyFile = escape(MyFile)
MyFile = MyFile.replace(/%20/g, "_");
MyFile = unescape(MyFile)
MyFile = MyFile.replace(/á/g, "a");
MyFile = MyFile.replace(/é/g, "e");
MyFile = MyFile.replace(/í/g, "i");
MyFile = MyFile.replace(/ó/g, "o");
MyFile = MyFile.replace(/ú/g, "ú");
MyFile = MyFile.replace(/ñ/g, "n");

MyFile = MyFile.replace(/Á/g, "A");
MyFile = MyFile.replace(/É/g, "E");
MyFile = MyFile.replace(/Í/g, "I");
MyFile = MyFile.replace(/Ó/g, "O");
MyFile = MyFile.replace(/Ú/g, "U");
MyFile = MyFile.replace(/Ñ/g, "N");

var NamesaveRef = MyFolder + "/" + MyFile + ".jpg"

//************************************************** ******************************
var qualit = 100;
var x = 10

var NewfileRef = new File( NamesaveRef );

SaveForForum(NewfileRef, qualit);

while (NewfileRef.length > FileSize )
{
qualit = qualit - x;
NewfileRef = new File( NewfileRef );
NewfileRef.remove();
SaveForForum(NewfileRef, qualit);
}

var tamanio = NewfileRef.length /1000
tamanio = Math.round(tamanio)


//************************************************** *******************
// function
//************************************************** *******************

function SaveForForum(filename, percentage)
{
var id7 = charIDToTypeID( "Expr" );
var desc3 = new ActionDescriptor();
var id8 = charIDToTypeID( "Usng" );
var desc4 = new ActionDescriptor();
var id9 = charIDToTypeID( "Op " );
var id10 = charIDToTypeID( "SWOp" );
var id11 = charIDToTypeID( "OpSa" );
desc4.putEnumerated( id9, id10, id11 );
var id12 = charIDToTypeID( "Fmt " );
var id13 = charIDToTypeID( "IRFm" );
var id14 = charIDToTypeID( "JPEG" );
desc4.putEnumerated( id12, id13, id14 );
var id15 = charIDToTypeID( "Intr" );
desc4.putBoolean( id15, false );
var id16 = charIDToTypeID( "Qlty" );
desc4.putInteger( id16, percentage); // quality
var id17 = charIDToTypeID( "QChS" );
desc4.putInteger( id17, 0 );
var id18 = charIDToTypeID( "QCUI" );
desc4.putInteger( id18, 0 );
var id19 = charIDToTypeID( "QChT" );
desc4.putBoolean( id19, false );
var id20 = charIDToTypeID( "QChV" );
desc4.putBoolean( id20, false );
var id21 = charIDToTypeID( "Optm" );
desc4.putBoolean( id21, true );
var id22 = charIDToTypeID( "Pass" );
desc4.putInteger( id22, 1 );
var id23 = charIDToTypeID( "blur" );
desc4.putDouble( id23, 0.000000 );
var id24 = charIDToTypeID( "EICC" );
desc4.putBoolean( id24, false );
var id25 = charIDToTypeID( "Mtt " );
desc4.putBoolean( id25, true );
var id26 = charIDToTypeID( "MttR" );
desc4.putInteger( id26, 255 );
var id27 = charIDToTypeID( "MttG" );
desc4.putInteger( id27, 255 );
var id28 = charIDToTypeID( "MttB" );
desc4.putInteger( id28, 255 );
var id29 = charIDToTypeID( "SHTM" );
desc4.putBoolean( id29, false );
var id30 = charIDToTypeID( "SImg" );
desc4.putBoolean( id30, true );
var id31 = charIDToTypeID( "SSSO" );
desc4.putBoolean( id31, false );
var id32 = charIDToTypeID( "SSLt" );
var list1 = new ActionList();
desc4.putList( id32, list1 );
var id33 = charIDToTypeID( "DIDr" );
desc4.putBoolean( id33, false );
var id34 = charIDToTypeID( "In " );
desc4.putPath( id34, new File( filename ) ); // filename
var id35 = stringIDToTypeID( "SaveForWeb" );
desc3.putObject( id8, id35, desc4 );
executeAction( id7, desc3, DialogModes.NO );
}
//************************************************** ***************
function noneExtension( fileName )
{

var Point = fileName.charAt(fileName.length-4);
if ( Point == "." )
{
fileName = fileName.substring( 0, fileName.length-4);
}
return fileName;
}
//************************************************** ***************
function NuevoAncho(Ancho, docResolution) {
//Ancho *= rfactor
var NuevoAlto
NuevoAlto = docRef.height * Ancho / docRef.width
docRef.resizeImage (Ancho, NuevoAlto, docResolution, ResampleMethod.BICUBIC)
}



function NuevoAlto(Alto, docResolution) {
//Alto *= rfactor
var NuevoAncho
NuevoAncho = docRef.width * Alto / docRef.height
docRef.resizeImage (NuevoAncho, Alto, docResolution, ResampleMethod.BICUBIC)
}

//************************************************** ***************************************
function ExifNumber(n) { // function para extraer los datos exif, segun numero que pasemos
var docRef = activeDocument
var dato = docRef.info.exif
dato = dato.join()
var p = dato.indexOf(n)
if ( p > 0 ){
p = p+n.length
var dato = dato.slice(p)
var f = dato.indexOf(",")
dato = dato.substring(0, f )
return dato
}
else{
dato = " no hay datos"
return dato
}

}
//************************************************** ******************************************
//************************************************** ***************************************
function formateaFecha(cadena)
{
return cadena.substring(10,12)+"/"+cadena.substring(7,9)+"/"+cadena.substring(2,6)+ cadena.substring(12,21)
}

Norton
02/06/06, 14:00:08
:aplausos Bien, eres un "monstruo" :wink: funciona bien, pero te cuento lo que me pasa a mi, al cargarlo me sale:

Error de Guión
Error 1220 : Argumento no válido
Line : 161
- > var id 9 = charIDToTypeID("Op");

Le doy a Aceptar y se carga, me reduce una foto de 3456x2304 a 1382x1029, le puse mi nombre y sin problemas, asi que funciona, con esta unica pega.

Una pregunta :D , no se podria colocar otro, igual que el nombre, pero por ejemplo que pusiese LUGAR. :wink:

cayro
02/06/06, 14:12:50
eso es de estas lineas...
function SaveForForum(filename, percentage)
{
var id7 = charIDToTypeID( "Expr" );
var desc3 = new ActionDescriptor();
var id8 = charIDToTypeID( "Usng" );
var desc4 = new ActionDescriptor();
var id9 = charIDToTypeID( "Op " );

Creo que eso son los parametro para la grabacion. Yo lo estoy probando con CS2 en español... igual con otro no funciona bien.

Lo de ponerle mas cosas... se puede lo que no se es como hacer que te lo pida, porque sino tendria que modificar el codigo para cada foto...
Se podra hacer seguro...
Le echare un ojo... pero eso de poner el lugar es no es muy util para poner un marco con datos exif, no?

El-Miguel
03/06/06, 08:05:33
y si hay que ampliar el marco y meter otra linea , imagino que se podra hacer tb...



Para el salto de linea sólo hay que poner ,\r"

Gracias por el cursillo, me he puesto hoy y ya estoy destripando el marco :susto

quique
06/10/06, 13:35:06
Sí señor, Cayro!!!
Ya tengo el marco que quería.
Me había vuelto loco modificando el que me bajé en un principio sin tener ni idea de Javascript, sólo con intuición, y a "puro huevo",y me ha costado mucha salud y unas cuantas dioptrías!

GRACIAS!

addser
18/11/06, 00:35:42
Alguien que lo tenga me puede mandar el scrip del marcoexif2 (tengo PS2)?

La direccion es mjesuspalacios arroba hotmailpuntocom

Gracias
Un saludo