Foros del Web » Programando para Internet » PHP »

[De]codificar imagen

Estas en el tema de [De]codificar imagen en el foro de PHP en Foros del Web. Quisiera saber como decodificar (y en principio como codificar) imágenes en base64 . Mi codigo es: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $img_src = file_get_contents ...
  #1 (permalink)  
Antiguo 30/07/2013, 08:53
 
Fecha de Ingreso: julio-2013
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta [De]codificar imagen

Quisiera saber como decodificar (y en principio como codificar) imágenes en base64.

Mi codigo es:
Código PHP:
Ver original
  1. $img_src = file_get_contents("IMG_0205.jpg");
  2.  
  3. $encode = base64_encode($img_src);
  4.  
  5. echo '<img src="data:image/jpg;base64,' . $encode . '" />';

Ahora, si se fijan en el index.php del wampserver, no especifica el path de la imagen, simplemente esta asi:


Código PHP:
Ver original
  1. $pngFolder = <<< EOFILE
  2. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAABhlBMVEX//v7//v3///7//fr//fj+/v3//fb+/fT+/Pf//PX+/Pb+/PP+/PL+/PH+/PD+++/+++7++u/9+vL9+vH79+r79+n79uj89tj89Nf889D88sj78sz78sr58N3u7u7u7ev777j67bL67Kv46sHt6uP26cns6d356aP56aD56Jv45pT45pP45ZD45I324av344r344T14J734oT34YD13pD24Hv03af13pP233X025303JL23nX23nHz2pX23Gvn2a7122fz2I3122T12mLz14Xv1JPy1YD12Vz02Fvy1H7v04T011Py03j011b01k7v0n/x0nHz1Ejv0Hnuz3Xx0Gvz00buzofz00Pxz2juz3Hy0TrmznzmzoHy0Djqy2vtymnxzS3xzi/kyG3jyG7wyyXkwJjpwHLiw2Liw2HhwmDdvlXevVPduVThsX7btDrbsj/gq3DbsDzbrT7brDvaqzjapjrbpTraojnboTrbmzrbmjrbl0Tbljrakz3ajzzZjTfZijLZiTJdVmhqAAAAgnRSTlP///////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9XzUpQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAACqSURBVBiVY5BDAwxECGRlpgNBtpoKCMjLM8jnsYKASFJycnJ0tD1QRT6HromhHj8YMOcABYqEzc3d4uO9vIKCIkULgQIlYq5haao8YMBUDBQoZWIBAnFtAwsHD4kyoEA5l5SCkqa+qZ27X7hkBVCgUkhRXcvI2sk3MCpRugooUCOooWNs4+wdGpuQIlMDFKiWNbO0dXTx9AwICVGuBQqkFtQ1wEB9LhGeAwDSdzMEmZfC0wAAAABJRU5ErkJggg==
  3. EOFILE;
  4.  
  5. ..............
  6.  
  7. if (isset($_GET['img']))
  8. {
  9.  * *switch ($_GET['img'])
  10.  * *{
  11.  * * * *case 'pngFolder' :
  12.  * * * *header("Content-type: image/png");
  13.  * * * *echo base64_decode($pngFolder);
  14.  * * * *exit();


Y llama las imagenes (en css):

Código CSS:
Ver original
  1. background: url(index.php?img=gifLogo) 0 0 no-repeat;


¿Cómo se hace eso?
  #2 (permalink)  
Antiguo 30/07/2013, 09:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: [De]codificar imagen

¿Cómo se hace?

Pues codificando la información binaria de la imagen en base64, tan obvio como que ya lo has dicho.

¿Qué es lo que no entiendes?

Busca en Google acerca de base64, no hay misterio ahí.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/07/2013, 10:46
 
Fecha de Ingreso: julio-2013
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: [De]codificar imagen

Pero el codigo que yo tengo en:
Código PHP:
Ver original
  1. $encode = base64_encode($img_src);
es inmenso comparado con las pocas lineas (a veces linea) en el index.php.
  #4 (permalink)  
Antiguo 30/07/2013, 11:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: [De]codificar imagen

Pues es que jamás va a ser igual.

Dicha longitud de carácteres es relativa a la información binaria en cuestión, es decir que un archivo de 1px no tendrá la misma cantidad de carácteres que uno de 40px, son bytes, información al fin y al cabo.

Y dichos bytes son los que se transforman, obviamente mientras mas bytes más espacio se necesitara.

¿No te parece algo de sentido común?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
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 21:17.