{{indexmenu_n>1}} ===== Type IMG-Firma ===== \\ Propiedad de tipo FIRMA \\ \\ \\ ==== Para personalizar los iconos ==== \\ Se han definido algunos atributos para personalizar la apariencia de los iconos al definir un type="IMG" con readonly="false". (Firma vieja, para mayor personalización utilizar el type="DR") **Atributos**:\\ ^ Atributo ^ Descripción ^ | **img-sign** | Icono de la firma. | | **img-sign-sel** | Icono de la firma cuando pulsamos en él. | | **img-delete** | Icono para descartar la firma. | | **img-delete-sel** | Icono para cuando pulsamos en descartar la firma. | | **img-save** | Icono para guardar la firma. | | **img-save-sel** | Icono para cuando pulsamos en guardar la firma. | | **hide-no-picture** | Para ocultar la imagen predeterminada "NO PICTURE", (hide-no-picture="true") para ocultar | ^ Apariencia de un campo type="IMG" readonly="false" ^ Pantalla para firmar, sólo se pueden personalizar los iconos ^ | {{ :wiki:controles:firma_vieja_1.png?nolink |}} | {{ :wiki:controles:firma_vieja_3.png?200&nolink |}} | ==== Límites Subida de Archivos ==== \\ Se han incorporado ciertos atributos para "limitar" la subida de ficheros en los type "**AT**" (Adjuntar fichero), "**IMG**" (Firma), "**VD**" (Vídeo) y "**PH**" (Foto). **Atributos**:\\ ^ Atributo ^Descripción ^ | **file-maxsize="XXX"** | Tamaño en bytes, tamaño máximo del fichero a subir. | | **file-msgfail="Mensaje Error"** | Personalizamos el error si se intenta subir un fichero muy grande. | | **file-maxwidth="800"** | Ancho máximo de la foto que se tome. | | **file-maxheight="600"** | Alto máximo de la foto que se tome. | Se debe implementar file-maxwidth y file-maxheight para los campos de tipo foto y firma para que los distintos dispositivos repliquen todos las fotos y firmas siempre con la misma resolución. Esto hará que el tamaño de las fotos sea más predecible y de pequeño tamaño, y evitará problemas de memoria en dispositivos de gama baja. ==== Llamada por SCRIPT ==== \\ Se puede llamar directamente con un botón que se cree el usuario a un script para que lance la firma, esto lanzará la ventana para firmar y asociará la firma realizada al campo que se especifique como parámetro. let fileManager; function lanzarFirma() { let imageDrawing = new ImageDrawing(); imageDrawing.create(640, 480); //imageDrawing.setBackgroundColor("#FF0000"); imageDrawing.setBackground("splash.jpg"); imageDrawing.setFont("alexbrush.ttf"); imageDrawing.setFontSize("32"); imageDrawing.setFontStyle("bold"); imageDrawing.addImageSetXY("testbackground.jpg", 100, 200); imageDrawing.addTextSetXY("texto de prueba", 100, 200, 0); imageDrawing.save("temporal_ImagenFondoFirma.png"); ui.startSignature("MAP_FIRMA", 640, 480, "temporal_ImagenFondoFirma.png"); } function addTimestamp(sPath) { if (!sPath) { throw "Haga una foto primero"; } let sPathEdited = "edited_" + sPath; let imageDrawing = new ImageDrawing(); let imageInfo = imageDrawing.getImageInfo(sPath); imageDrawing.create(imageInfo.getWidth(), imageInfo.getHeight()); imageDrawing.setBackground(sPath); imageDrawing.setFont("Product-Sans-Regular.ttf"); imageDrawing.setFontSize(64); imageDrawing.setFontColor("#FF0000"); imageDrawing.addTextSetXY(new Date().toString(), 100, 200, 0); imageDrawing.save(sPathEdited); ui.openFile(sPathEdited); } function obtenerInformacion() { let imageDrawing = new ImageDrawing(); let imageInfo = imageDrawing.getImageInfo("splash.jpg"); let sMessage = "Ancho: " + imageInfo.getWidth() + "\n"; sMessage = sMessage + "Alto: " + imageInfo.getHeight() + "\n"; sMessage = sMessage + "Mime type: " + imageInfo.getMimeType(); ui.msgBox(sMessage, "Mensaje", 0); } function mostrarInformacion(sPath) { let imageDrawing = new ImageDrawing(); let imageInfo = imageDrawing.getImageInfo(sPath); let sMessage = "Ancho: " + imageInfo.getWidth() + "\n"; sMessage = sMessage + "Alto: " + imageInfo.getHeight() + "\n"; sMessage = sMessage + "Mime type: " + imageInfo.getMimeType(); ui.msgBox(sMessage, "Mensaje", 0); } function resizeImage() { let imageDrawing = new ImageDrawing(); let sPath = "splash.jpg"; let sPathResized = "splash_resized.png"; mostrarInformacion(sPath); imageDrawing.create(100, 100); imageDrawing.setBackground(sPath); imageDrawing.save(sPathResized); mostrarInformacion(sPathResized); self.MAP_FIRMA = sPathResized; ui.refresh("MAP_FIRMA"); } function resizeImageCopyExif() { let imageDrawing = new ImageDrawing(); let sPath = self.MAP_FOTO; if (!fileExists(sPath)) { throw "Haga la foto primero"; } let sPathResized = "photo_resized.jpg"; imageDrawing.create(640, 480); imageDrawing.setBackground(sPath); imageDrawing.save(sPathResized); imageDrawing.copyExifMetadata(sPath, sPathResized); mostrarInformacion(sPathResized); self.MAP_FOTO = sPathResized; ui.refresh("MAP_FOTO"); } ===== Veáse también: Type="IMG" Tipo Imagen ===== \\ [[wiki:2.-desarrollo-app:2.3.-codigo:b.-controles-xone:3.-controles-por-tipo:type-img-firma:start|Type IMG- Tipo Imagen]]