Foros del Web » Programando para Internet » Javascript »

Pasar ImageBase64 a jpg

Estas en el tema de Pasar ImageBase64 a jpg en el foro de Javascript en Foros del Web. Hola como puedo hacer para pasar ImageBase64 a JPG? Tengo este código (parte)+ Código HTML: function OnLoad() { try { if( !("ActiveXObject" in window) ) ...
  #1 (permalink)  
Antiguo 01/12/2013, 04:58
 
Fecha de Ingreso: noviembre-2012
Mensajes: 73
Antigüedad: 11 años, 5 meses
Puntos: 1
Pasar ImageBase64 a jpg

Hola como puedo hacer para pasar ImageBase64 a JPG?
Tengo este código (parte)+
Código HTML:
function OnLoad() {
        try {
		  if( !("ActiveXObject" in window) ) {
            document.getElementById("not_ie_warning").style.display="block";
  		    return;
          }
          print("CLEAR");
          var sigCtl = document.getElementById("sigCtl1");
          sigCtl.Licence = "AgAZAPZTkH0EBVdhY29tClNESyBTYW1wbGUBAoECA2UA";
          sigCtl.BackStyle = 1;
          sigCtl.DisplayMode=0; // fit signature to control
          print("Checking components...");
          var sigcapt = new ActiveXObject('Florentis.DynamicCapture');  // force 'can't create object' error if components not yet installed
          print("DLL: flSigCOM.dll  v" +   sigCtl.GetProperty("Component_FileVersion") + " ok");
          print("DLL: flSigCapt.dll v" + sigcapt.GetProperty("Component_FileVersion") + " ok");
          print("Test application ready.");
          print("Press 'Start' to capture a signature.");
          print("Enable image display.");
          var imgCtl = document.getElementById("imgCtl1");
          imgCtl.Licence = "AgAaALzhGEUEBVdhY29tClNESyBTYW1wbGUBAoEDAQNlAA";
		  
 imgCtl.ImageBase64 = "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAPABADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD32WRI YnlldUjRSzMxwFA6kmsfSr661uYahGWg0oZ+zqVw9z/00bPRP7o6nqeMCsfXfB0+p+JEube5MOnX aBNTiDkecEIKgD36Hpxn1rsURY0VEUKqjAUDAA9KzTlKWqsl+J2zjRpUk4S5pSXb4e/zv+Gu70// 2Q==";
        }
        catch(ex) {
          Exception("OnLoad() error: " + ex.message);
        }
Código PHP:
<body onload="OnLoad()">
    <div style="width:100%">
      <h2>Test Signature Control with Image</h2>
      <div id="not_ie_warning" style="display:none">
        <h2>WARNING:</h2>
        This application is only supported by Internet Explorer<br/>
        (The Javascript uses ActiveX controls which are not supported by alternative browsers such as Firefox)<br/>
      </div>
      <table style="padding: 10px 90px;">
        <tr>
          <td rowspan="2">
            <div  ondblclick="DisplaySignatureDetails()" title="Doble click para ver los detalles">
              <object id="sigCtl1" style="width:60mm;height:35mm"
                type="application/x-florentis-signature">
              </object>
            </div>
          </td>
          <td  style="padding: 10px 50px;">
            <input type="button" value="Start" style="height:10mm;width:35mm" onclick="Capture()"
            title="Starts signature capture" />
          </td>
          <td rowspan="2">
            <!--<img src="wacomlogo-50pc.png" \>-->
            
<?php 


$sql 
"UPDATE contratos SET firma ='?????' WHERE id = '9191'";
$resultado mysql_query($sql) or die ("Problema con query");

?>

            
            <object type="application/x-florentis-img" id="imgCtl1">
              <param name="ImageBase64" value="/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAPABADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD32WRI YnlldUjRSzMxwFA6kmsfSr661uYahGWg0oZ+zqVw9z/00bPRP7o6nqeMCsfXfB0+p+JEube5MOnX aBNTiDkecEIKgD36Hpxn1rsURY0VEUKqjAUDAA9KzTlKWqsl+J2zjRpUk4S5pSXb4e/zv+Gu70// 2Q==" />
            </object>
          </td>
        </tr>
        <tr>
          <td style="padding: 10px 50px;">
            <input type="button" value="About" style="height:10mm;width:35mm" onclick="AboutBox()"
            title="Displays the Help About box" />
          </td>
        </tr>
      </table>
        <br/>
            <textarea cols="125" rows="15" id="txtDisplay"></textarea>
    </div>
Si es posible quisiera pasar de Base64 a Jpg y grabar la imagen el la base de datos. ¿Alguien que pueda echarme una mano?. Muchas gracias
  #2 (permalink)  
Antiguo 01/12/2013, 08:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Pasar ImageBase64 a jpg

ve a está página http://www.motobit.com/util/base64-decoder-encoder.asp pega el base-64 apartir de (data:image/png;base64,). en la opción "Output data" marca "export to a binary file, filename". renombralo y guardalo
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 01/12/2013 a las 08:52
  #3 (permalink)  
Antiguo 01/12/2013, 08:14
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Pasar ImageBase64 a jpg

Basta con poner la cadena BASE64 como atributo SRC de una imagen <img>. Si está bien, se verá la imagen. A tu cadena, parece que le falta un "data:image/png;base64," delante. Eso como mínimo.
http://jsfiddle.net/8J35g/
  #4 (permalink)  
Antiguo 01/12/2013, 12:40
 
Fecha de Ingreso: noviembre-2012
Mensajes: 73
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Pasar ImageBase64 a jpg

Hola, gracias por las respuesta, quizá no me he explicado bien, lo que quiero es que de forma automatica, cuando recojo una firma (en este caso), en vez de generar un base64 genere un fichero jpg.
Luego ese nombre del fichero guardarlo en una tabla.

Gracias espero haberme explicado.
  #5 (permalink)  
Antiguo 01/12/2013, 13:07
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Pasar ImageBase64 a jpg

¿Dónde tienes el código que genera el base64?¿Por qué pones dudas de php en el foro de javascript?
  #6 (permalink)  
Antiguo 01/12/2013, 15:29
 
Fecha de Ingreso: noviembre-2012
Mensajes: 73
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Pasar ImageBase64 a jpg

Es es el código javascript,
Código HTML:
 <script type="text/javascript">
    <!--
      function Capture() {
        try {
          print("Capturing signature...");
          var sigCtl = document.getElementById("sigCtl1");
          var dc = new ActiveXObject("Florentis.DynamicCapture");
          var rc = dc.Capture(sigCtl, "who", "why");
          if(rc != 0 )
            print("Capture returned: " + rc);
          switch( rc ) {
            case 0: // CaptureOK
              print("Signature captured successfully");
              break;
            case 1: // CaptureCancel
              print("Signature capture cancelled");
              break;
            case 100: // CapturePadError
              print("No capture service available");
              break;
            case 101: // CaptureError
              print("Tablet Error");
              break;
            case 102: // CaptureIntegrityKeyInvalid
              print("The integrity key parameter is invalid (obsolete)");
              break;
            case 103: // CaptureNotLicensed
              print("No valid Signature Capture licence found");
              break;
            case 200: // CaptureAbort
              print("Error - unable to parse document contents");
              break;
            default: 
              print("Capture Error " + rc);
              break;
          }
        }
        catch(ex) {
          Exception("Capture() error: " + ex.message);
        }
      }

      function DisplaySignatureDetails() {
        try {
          var sigCtl = document.getElementById("sigCtl1");
          if (sigCtl.Signature.IsCaptured) {
            print("Signature Information:");
            print("  Name:   " + sigCtl.Signature.Who);
            print("  Date:   " + sigCtl.Signature.When);
            print("  Reason: " + sigCtl.Signature.Why);
          }
        }
        catch(ex) {
          Exception("DisplaySignatureDetails() error: " + ex.message);
        }
      }

      function AboutBox() {
        try {
          var sigCtl = document.getElementById("sigCtl1");
          sigCtl.AboutBox();
        }
        catch(ex) {
          Exception("About() error: " + ex.message);
        }
      }

      function Exception(txt) {
        print("Exception: " + txt);
      }
      function print(txt) {
        var txtDisplay = document.getElementById("txtDisplay");
        if(txt == "CLEAR" )
          txtDisplay.value = "";
        else {
          txtDisplay.value += txt + "\n";
          txtDisplay.scrollTop = txtDisplay.scrollHeight; // scroll to end
        }
      }

      function OnLoad() {
        try {
		  if( !("ActiveXObject" in window) ) {
            document.getElementById("not_ie_warning").style.display="block";
  		    return;
          }
          print("CLEAR");
          var sigCtl = document.getElementById("sigCtl1");
          sigCtl.Licence = "AgAZAPZTkH0EBVdhY29tClNESyBTYW1wbGUBAoECA2UA";
          sigCtl.BackStyle = 1;
          sigCtl.DisplayMode=0; // fit signature to control
          print("Checking components...");
          var sigcapt = new ActiveXObject('Florentis.DynamicCapture');  // force 'can't create object' error if components not yet installed
          print("DLL: flSigCOM.dll  v" +   sigCtl.GetProperty("Component_FileVersion") + " ok");
          print("DLL: flSigCapt.dll v" + sigcapt.GetProperty("Component_FileVersion") + " ok");
          print("Test application ready.");
          print("Press 'Start' to capture a signature.");
          print("Enable image display.");
          var imgCtl = document.getElementById("imgCtl1");
          imgCtl.Licence = "AgAaALzhGEUEBVdhY29tClNESyBTYW1wbGUBAoEDAQNlAA";
		  
  imgCtl.ImageBase64 = "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAPABADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD32WRI YnlldUjRSzMxwFA6kmsfSr661uYahGWg0oZ+zqVw9z/00bPRP7o6nqeMCsfXfB0+p+JEube5MOnX aBNTiDkecEIKgD36Hpxn1rsURY0VEUKqjAUDAA9KzTlKWqsl+J2zjRpUk4S5pSXb4e/zv+Gu70// 2Q==";
        }
        catch(ex) {
          Exception("OnLoad() error: " + ex.message);
        }
      }
    -->
    </script> 
Creo que debo publicarlo en el foro de javascript, si no es así lo lamento.

Etiquetas: input, jpg, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:19.