SlideShare une entreprise Scribd logo
1  sur  2
Télécharger pour lire hors ligne
Inserción de imágenes y elementos gráficos


Lineas y rectangulos
                                       Modificación de la clase FPDF
                                          El fichero fpdf.php que contiene la clase FPDF tiene una carencia relativa a la gestión de
La clase FPDF incluye métodos          imágenes en formato GIF. En la propia principal http://www.fpdf.org/ se hace una mención
para el dibujo de segmentos            a esa carencia y la forma de subsanarla.
rectilineos y de rectángulos.

Las funciones que utiliza para          Fichero inicial      fpdf.php
estos menesteres son las
siguientes:                              Guardado
                                           como
                                                             fpdf_con_gif.php
$obj->Line(X1,Y1,X2,Y2)                                                         Modificaciones en el fichero inicial

Si no se ha especificado ningún             Línea                                                    Cambios
color -usando SetDrawColor- o
                                                          Donde dice:
un espesor de línea - por medio de
SetLineWidth - se usarán los                                if($type=='jpg' || $type=='jpeg')
valores por defecto (color negro y                               $info=$this->_parsejpg($file);
0,2 mm. de espesor).                                        elseif($type=='png')
                                                                $info=$this->_parsepng($file);
Cuando se trata de dibujar
rectángulos, hemos de utilizar la                           else
función:                                                    {
                                                                //Allow for additional formats
$obj->Rect(X1,Y1,A,H,'estilo')
                                                          añadir las líneas en rojo:
                                            911
donde X1 e Y1 son las                                       if($type=='jpg' || $type=='jpeg')
coordenadas de la esquina
                                                                 $info=$this->_parsejpg($file);
superior izquierda del mismo, A el
                                                            elseif($type=='png')
ancho, H el alto y estilo que puede
ser una de estas tres cadenas: D,                               $info=$this->_parsepng($file);
F, DF que significan: dibujar                               elseif($type=='gif')
líneas de borde, rellenar, y                                    $info=$this->_parsegif($file);
dibujar líneas y rellenar. Si no                            else
se especifica estilo se interpretará                        {
por defecto la opción D.                                        //Allow for additional formats
                                                          Donde dice:
Las imágenes GIF
                                                            //End of class
                                                            }
La clase FPDF, en su versión
original, no permite utilizar                             anteponer:
imágenes en formato GIF. No
                                                          function _parsegif($file){
obstante es posible adaptar la
clase y añadirle esa posibilidad.
                                                            //Function by Jérôme Fenal
Para ello es preciso realizar las                           require_once 'gif.php';
modificaciones que se indican a la                          //GIF class in pure PHP from Yamasoft
derecha y que pueden resumires                              //(formerly at http://www.yamasoft.com)
en tres acciones.                                           $h=0; $w=0;
                                                            $gif=new CGIF();
La primera de ellas es efectuar una                         if (!$gif->loadFile($file, 0))
modificación de la función Image                                   $this->Error("GIF parser: unable to open file $file");
() contenida en la clase FPDF del
                                                            if($gif->m_img->m_gih->m_bLocalClr) {
fichero fpdf.php. Se trata de
                                                                   $nColors = $gif->m_img->m_gih->m_nTableSize;
incluir la condición para imágenes
gif.                                                               $pal = $gif->m_img->m_gih->m_colorTable->toString();
                                                          if($bgColor != -1) {
El uso de imágenes GIF requiere                           $bgColor= $gif->m_img->m_gih->m_colorTable->colorIndex($bgColor);
utilizar una nueva función                                  }
llamada _parsegif -la tienes en la                                 $colspace='Indexed';
tabla de la derecha- que habrá que                        } elseif($gif->m_gfh->m_bGlobalClr) {
incluir como un método más                                  $nColors = $gif->m_gfh->m_nTableSize;
dentro de la clase FPDF.
                                                            $pal = $gif->m_gfh->m_colorTable->toString();
La función _parsegif requiere el                            if($bgColor != -1) {
uso de un nuevo fichero -gif.php-                           $bgColor = $gif->m_gfh->m_colorTable->colorIndex($bgColor);
desarrollado por Yamasoft y que             1638          }
nosotros hemos encontrado en el                                    $colspace='Indexed';
fichero zip que puede descargarse                                  } else {
desde este enlace. Lo hemos                                                 $nColors = 0;
extraido de él y lo hemos incluido                                          $bgColor = -1;
en estos materiales.                                                        $colspace='DeviceGray';
                                                                            $pal='';
Hemos editado el fichero fpdf.php
                                                                   }
y lo hemos guardado con un nuevo
nombre: fpdf_con_gif.php (se                                       $trns='';
trata de conservar el fichero                                      if($gif->m_img->m_bTrans && ($nColors > 0)) {
original y hacer los cambios sobre                                          $trns=array($gif->m_img->m_nTrans);
uno nuevo) y hemos realizado los                                   }
cambios que se indican al margen                                   $data=$gif->m_img->m_data;
sobre este último fichero.                                         $w=$gif->m_gfh->m_nWidth;
                                                                   $h=$gif->m_gfh->m_nHeight;
Una vez realizadas las                                             if($colspace=='Indexed' and empty($pal))
modificaciones la opción GIF ha
                                                                            $this->Error('Missing palette in '.$file);
quedado totalmente funcional.
                                                                   if ($this->compress) {
                                                                            $data=gzcompress($data);
    ¡Cuidado!                                             return array( 'w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>8,
                                                          'f'=>'FlateDecode', 'pal'=>$pal, 'trns'=>$trns, 'data'=>$data);
  Los cambios comentados en
                                                                   } else {
  la tabla anterior ya han sido                             return array( 'w'=>$w, 'h'=>$h, 'cs'=>$colspace,
  realizados.                                             'bpc'=>8, 'pal'=>$pal, 'trns'=>$trns, 'data'=>$data);
                                                                   }
  Lao ficheros gif.php y
                                                          }
  fpdf_con_gif.php se han
incluido junto con estos
   materiales.                                     Incluir (en el mismo directorio que fpdf_con_gif.php) el fichero:

                                                                                                gif.php

Inserción de imágenes

Se pueden incluir imágenes
                                        Un ejemplo con gráficos e imágenes
mediante la función:
                                         <?
$obj->Image('nombre',X1,Y1,A,
                                         #incluimos el fichero resultante de las modificaciones anteriores
H,'tipo','enl')
                                         include("fpdf_con_gif.php");
donde X1 e Y1 son las                    define('FPDF_FONTPATH','c:/Apache/htdocs/cursoPHP/fontsPDF/');
coordenadas dónde se situará la          /* establecemos las dimensiones del documento en mm.
esquina superior izquierda de la            creamos un nuevo objeto y A-4 apaisado.
imagen, A es el ancho con el que            Hemos modificado algunas funciones de la clase pero no le hemos
se visualizará la imagen, H su           cambiado
altura, tipo es el formato de la            el nombre, por ello el constructor es el mismo    */
imagen original que puede ser:           $MiPDF=new FPDF('L','mm','A4');
JPG, JPEG, PNG ó GIF. Por último,        # ajustamos la visualización para ver la página completa en pantalla
el parámetro enl permite -tal
                                         $MiPDF->SetDisplayMode('fullpage');
como ocurría con CELL ó con
WRITE y con los mismos criterios         #añadimos una página
allí utilizados- establecer un enlace    $MiPDF->AddPage();
externo o una referencia interna.        # sin haber definido previamente ni un color ni un ancho de linea
                                         # aparecerá en negro y con un espesor de 0.2 mm
El parámetro nombre debe                 $MiPDF->Line(5,5,287,5);
especificar la ruta, el nombre y la      #ensayamos las diferentes opciones de rectangulos
extensión de la imagen a incluir.        #con los colores y espesores por defecto
La clase no soporta ni entrelazados      $MiPDF->Rect(10,10,50,50);
en las imágenes gif ni
                                         $MiPDF->Rect(70,10,50,50,'D');
transparencias (canales alfa) en
las imágenes png.
                                         $MiPDF->Rect(140,10,50,50,'F');
                                         $MiPDF->Rect(200,10,50,50,'DF');
Las dimensiones de la imagen             # modificamos los colores y espesores de linea
pueden omitirse (incluyendo en su        $MiPDF->SetDrawColor(255,0,0);
lugar una cadena vacia). En ese          $MiPDF->SetFillColor(0,0,255);
caso incluiría la imagen original        $MiPDF->SetLineWidth(3);
con una resolución de 72 puntos          # dibujamos nuevos rectángulos con los nuevos valores
por pulgada.                             $MiPDF->Rect(10,65,50,50);
Si se especifica una sola de las         $MiPDF->Rect(70,65,50,50,'D');
dimensiones la otra se calcula de        $MiPDF->Rect(140,65,50,50,'F');
forma automática y se mantienen          $MiPDF->Rect(200,65,50,50,'FD');
las proporciones. Si se insertan         # insertamos una imagen (png) sin especificar dimensiones
valores de largo y ancho pueden          $MiPDF->Image('./images/cruz.png',10,118,'','','png');
generarse, a voluntad, efectos de        # otra imagen(jpg) en la que unicamente especificamos el alto
distorsión.                              $MiPDF->Image('./images/cabina.jpg',90,118,'',90,'jpg');
                                         # otra imagen(gif) en la que especificamos ancho y alto y provocamos
Inserción de                             # una distorsión
imágenes dinámicas                       $MiPDF->Image('./images/peligro.gif',215,118,80,50,'gif');
                                         #añadimos una nueva página
                                         $MiPDF->AddPage();
Es posible combinar la potencia
                                         # asignamos un nombre a la imagen dinámica que vamos a generar
gráfica de las funciones de PHP
para la creación de imágenes
                                         # e incluir en el documento PDF
dinámicas con la opción de crear         $imagen="ladinamica.jpg";
ficheros PDF mediente la clase           # ejecutamos la función que crea la nueva imagen
FPDF. La forma de proceder es            imagen1($imagen);
simple y puedes verla en el              # insertamos la nueva imagen y generamos la salida
ejemplo que tienes aquí a la             $MiPDF->Image($imagen, 45, 35 , 150, '','jpg','http://www.google.es');
derecha.                                 $MiPDF->Output();
                                         # ya podemos borrar la imagen dinámica que hemos creado
Basta incluir una función -dentro
                                         unlink($imagen);
del mismo fichero o por inclusión
de un fichero externo que la
                                         # esta es la función que crea la imagen dinamica
contenga- que cree la imagen             # le asignamos un nombre para que sea guarda temporalmente
dinámica y la guarde con un              # en el directorio actual
nombre previamente establecido.          function imagen1($imagen){
                                             Header("Content-type: image/jpeg");
Incluimos el nombre de esa                   $im = imagecreate(200,200);
imagen en la función Image y, una            $fondo=imagecolorallocate ($im, 0, 0, 200);
vez producida la salida mediante             $blanco=imagecolorallocate ($im, 255, 255, 255);
Output, proceder a borrarla del
                                             Imagefill ($im, 0, 0, $fondo);
directorio en el que fue creada.
                                             Imagerectangle ($im, 10, 10, 190, 190, $blanco);
                                             Imagejpeg($im,$imagen);
                                                  ImageDestroy($im);
                                                  }
                                         ?>


                                                                           Ejemplo140.php


                                                 Anterior                              Indice                          Siguiente

Contenu connexe

Tendances

Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matricesJohanna Marin
 
Introducción a las Expresiones Regulares
Introducción a las Expresiones RegularesIntroducción a las Expresiones Regulares
Introducción a las Expresiones RegularesJose Luis Martínez
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)Oliver Centeno
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scalanluaces
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones RegularesKar Juan
 
44 Php Informacion Sobre Variables
44 Php Informacion Sobre Variables44 Php Informacion Sobre Variables
44 Php Informacion Sobre VariablesJosé M. Padilla
 

Tendances (9)

Funciones
FuncionesFunciones
Funciones
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones
FuncionesFunciones
Funciones
 
Sistemas de Razonamiento Lógico
Sistemas de Razonamiento LógicoSistemas de Razonamiento Lógico
Sistemas de Razonamiento Lógico
 
Introducción a las Expresiones Regulares
Introducción a las Expresiones RegularesIntroducción a las Expresiones Regulares
Introducción a las Expresiones Regulares
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
44 Php Informacion Sobre Variables
44 Php Informacion Sobre Variables44 Php Informacion Sobre Variables
44 Php Informacion Sobre Variables
 

En vedette

Insertar imágenes en Word.
Insertar imágenes en Word.Insertar imágenes en Word.
Insertar imágenes en Word.cbticei
 
Tabla invitaciones curso
Tabla invitaciones cursoTabla invitaciones curso
Tabla invitaciones cursoJose Luis Espin
 
Prueba 5 LibreOffice Writer
Prueba 5 LibreOffice WriterPrueba 5 LibreOffice Writer
Prueba 5 LibreOffice Writertheproteh
 
Dn11 u3 a31_mmi
Dn11 u3 a31_mmiDn11 u3 a31_mmi
Dn11 u3 a31_mmireila157
 
Instalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y DrupalInstalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y DrupalTerrafx9
 
Práctica 3 iptables fran gavilan
Práctica 3 iptables fran gavilanPráctica 3 iptables fran gavilan
Práctica 3 iptables fran gavilanTerrafx9
 
3 insercion imagenes_subpaginas_breve
3 insercion imagenes_subpaginas_breve3 insercion imagenes_subpaginas_breve
3 insercion imagenes_subpaginas_breveplumgar56
 
Blogak eta gizarte sareak kazetaritzan
Blogak eta gizarte sareak kazetaritzanBlogak eta gizarte sareak kazetaritzan
Blogak eta gizarte sareak kazetaritzanGorka J Palacio Arko
 
Inserción imagenes animación transicion y ensayo
Inserción imagenes animación transicion y ensayoInserción imagenes animación transicion y ensayo
Inserción imagenes animación transicion y ensayoOzkr Velásquez
 
Imágenes y graficos en word
Imágenes y graficos en wordImágenes y graficos en word
Imágenes y graficos en wordAura Duque
 

En vedette (13)

Insertar imágenes en Word.
Insertar imágenes en Word.Insertar imágenes en Word.
Insertar imágenes en Word.
 
Tabla invitaciones curso
Tabla invitaciones cursoTabla invitaciones curso
Tabla invitaciones curso
 
laptop
laptoplaptop
laptop
 
Prueba 5 LibreOffice Writer
Prueba 5 LibreOffice WriterPrueba 5 LibreOffice Writer
Prueba 5 LibreOffice Writer
 
Dn11 u3 a31_mmi
Dn11 u3 a31_mmiDn11 u3 a31_mmi
Dn11 u3 a31_mmi
 
Google Docs
Google DocsGoogle Docs
Google Docs
 
Instalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y DrupalInstalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y Drupal
 
Práctica 3 iptables fran gavilan
Práctica 3 iptables fran gavilanPráctica 3 iptables fran gavilan
Práctica 3 iptables fran gavilan
 
3 insercion imagenes_subpaginas_breve
3 insercion imagenes_subpaginas_breve3 insercion imagenes_subpaginas_breve
3 insercion imagenes_subpaginas_breve
 
Blogak eta gizarte sareak kazetaritzan
Blogak eta gizarte sareak kazetaritzanBlogak eta gizarte sareak kazetaritzan
Blogak eta gizarte sareak kazetaritzan
 
Inserción imagenes animación transicion y ensayo
Inserción imagenes animación transicion y ensayoInserción imagenes animación transicion y ensayo
Inserción imagenes animación transicion y ensayo
 
Grabazio aplikazioak android
Grabazio aplikazioak androidGrabazio aplikazioak android
Grabazio aplikazioak android
 
Imágenes y graficos en word
Imágenes y graficos en wordImágenes y graficos en word
Imágenes y graficos en word
 

Plus de José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTJosé M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busquedaJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionJosé M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20José M. Padilla
 

Plus de José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Dernier

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Dernier (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

76 Php. Insercion De Imagenes Y Elementos Graficos

  • 1. Inserción de imágenes y elementos gráficos Lineas y rectangulos Modificación de la clase FPDF El fichero fpdf.php que contiene la clase FPDF tiene una carencia relativa a la gestión de La clase FPDF incluye métodos imágenes en formato GIF. En la propia principal http://www.fpdf.org/ se hace una mención para el dibujo de segmentos a esa carencia y la forma de subsanarla. rectilineos y de rectángulos. Las funciones que utiliza para Fichero inicial fpdf.php estos menesteres son las siguientes: Guardado como fpdf_con_gif.php $obj->Line(X1,Y1,X2,Y2) Modificaciones en el fichero inicial Si no se ha especificado ningún Línea Cambios color -usando SetDrawColor- o Donde dice: un espesor de línea - por medio de SetLineWidth - se usarán los if($type=='jpg' || $type=='jpeg') valores por defecto (color negro y $info=$this->_parsejpg($file); 0,2 mm. de espesor). elseif($type=='png') $info=$this->_parsepng($file); Cuando se trata de dibujar rectángulos, hemos de utilizar la else función: { //Allow for additional formats $obj->Rect(X1,Y1,A,H,'estilo') añadir las líneas en rojo: 911 donde X1 e Y1 son las if($type=='jpg' || $type=='jpeg') coordenadas de la esquina $info=$this->_parsejpg($file); superior izquierda del mismo, A el elseif($type=='png') ancho, H el alto y estilo que puede ser una de estas tres cadenas: D, $info=$this->_parsepng($file); F, DF que significan: dibujar elseif($type=='gif') líneas de borde, rellenar, y $info=$this->_parsegif($file); dibujar líneas y rellenar. Si no else se especifica estilo se interpretará { por defecto la opción D. //Allow for additional formats Donde dice: Las imágenes GIF //End of class } La clase FPDF, en su versión original, no permite utilizar anteponer: imágenes en formato GIF. No function _parsegif($file){ obstante es posible adaptar la clase y añadirle esa posibilidad. //Function by Jérôme Fenal Para ello es preciso realizar las require_once 'gif.php'; modificaciones que se indican a la //GIF class in pure PHP from Yamasoft derecha y que pueden resumires //(formerly at http://www.yamasoft.com) en tres acciones. $h=0; $w=0; $gif=new CGIF(); La primera de ellas es efectuar una if (!$gif->loadFile($file, 0)) modificación de la función Image $this->Error("GIF parser: unable to open file $file"); () contenida en la clase FPDF del if($gif->m_img->m_gih->m_bLocalClr) { fichero fpdf.php. Se trata de $nColors = $gif->m_img->m_gih->m_nTableSize; incluir la condición para imágenes gif. $pal = $gif->m_img->m_gih->m_colorTable->toString(); if($bgColor != -1) { El uso de imágenes GIF requiere $bgColor= $gif->m_img->m_gih->m_colorTable->colorIndex($bgColor); utilizar una nueva función } llamada _parsegif -la tienes en la $colspace='Indexed'; tabla de la derecha- que habrá que } elseif($gif->m_gfh->m_bGlobalClr) { incluir como un método más $nColors = $gif->m_gfh->m_nTableSize; dentro de la clase FPDF. $pal = $gif->m_gfh->m_colorTable->toString(); La función _parsegif requiere el if($bgColor != -1) { uso de un nuevo fichero -gif.php- $bgColor = $gif->m_gfh->m_colorTable->colorIndex($bgColor); desarrollado por Yamasoft y que 1638 } nosotros hemos encontrado en el $colspace='Indexed'; fichero zip que puede descargarse } else { desde este enlace. Lo hemos $nColors = 0; extraido de él y lo hemos incluido $bgColor = -1; en estos materiales. $colspace='DeviceGray'; $pal=''; Hemos editado el fichero fpdf.php } y lo hemos guardado con un nuevo nombre: fpdf_con_gif.php (se $trns=''; trata de conservar el fichero if($gif->m_img->m_bTrans && ($nColors > 0)) { original y hacer los cambios sobre $trns=array($gif->m_img->m_nTrans); uno nuevo) y hemos realizado los } cambios que se indican al margen $data=$gif->m_img->m_data; sobre este último fichero. $w=$gif->m_gfh->m_nWidth; $h=$gif->m_gfh->m_nHeight; Una vez realizadas las if($colspace=='Indexed' and empty($pal)) modificaciones la opción GIF ha $this->Error('Missing palette in '.$file); quedado totalmente funcional. if ($this->compress) { $data=gzcompress($data); ¡Cuidado! return array( 'w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>8, 'f'=>'FlateDecode', 'pal'=>$pal, 'trns'=>$trns, 'data'=>$data); Los cambios comentados en } else { la tabla anterior ya han sido return array( 'w'=>$w, 'h'=>$h, 'cs'=>$colspace, realizados. 'bpc'=>8, 'pal'=>$pal, 'trns'=>$trns, 'data'=>$data); } Lao ficheros gif.php y } fpdf_con_gif.php se han
  • 2. incluido junto con estos materiales. Incluir (en el mismo directorio que fpdf_con_gif.php) el fichero: gif.php Inserción de imágenes Se pueden incluir imágenes Un ejemplo con gráficos e imágenes mediante la función: <? $obj->Image('nombre',X1,Y1,A, #incluimos el fichero resultante de las modificaciones anteriores H,'tipo','enl') include("fpdf_con_gif.php"); donde X1 e Y1 son las define('FPDF_FONTPATH','c:/Apache/htdocs/cursoPHP/fontsPDF/'); coordenadas dónde se situará la /* establecemos las dimensiones del documento en mm. esquina superior izquierda de la creamos un nuevo objeto y A-4 apaisado. imagen, A es el ancho con el que Hemos modificado algunas funciones de la clase pero no le hemos se visualizará la imagen, H su cambiado altura, tipo es el formato de la el nombre, por ello el constructor es el mismo */ imagen original que puede ser: $MiPDF=new FPDF('L','mm','A4'); JPG, JPEG, PNG ó GIF. Por último, # ajustamos la visualización para ver la página completa en pantalla el parámetro enl permite -tal $MiPDF->SetDisplayMode('fullpage'); como ocurría con CELL ó con WRITE y con los mismos criterios #añadimos una página allí utilizados- establecer un enlace $MiPDF->AddPage(); externo o una referencia interna. # sin haber definido previamente ni un color ni un ancho de linea # aparecerá en negro y con un espesor de 0.2 mm El parámetro nombre debe $MiPDF->Line(5,5,287,5); especificar la ruta, el nombre y la #ensayamos las diferentes opciones de rectangulos extensión de la imagen a incluir. #con los colores y espesores por defecto La clase no soporta ni entrelazados $MiPDF->Rect(10,10,50,50); en las imágenes gif ni $MiPDF->Rect(70,10,50,50,'D'); transparencias (canales alfa) en las imágenes png. $MiPDF->Rect(140,10,50,50,'F'); $MiPDF->Rect(200,10,50,50,'DF'); Las dimensiones de la imagen # modificamos los colores y espesores de linea pueden omitirse (incluyendo en su $MiPDF->SetDrawColor(255,0,0); lugar una cadena vacia). En ese $MiPDF->SetFillColor(0,0,255); caso incluiría la imagen original $MiPDF->SetLineWidth(3); con una resolución de 72 puntos # dibujamos nuevos rectángulos con los nuevos valores por pulgada. $MiPDF->Rect(10,65,50,50); Si se especifica una sola de las $MiPDF->Rect(70,65,50,50,'D'); dimensiones la otra se calcula de $MiPDF->Rect(140,65,50,50,'F'); forma automática y se mantienen $MiPDF->Rect(200,65,50,50,'FD'); las proporciones. Si se insertan # insertamos una imagen (png) sin especificar dimensiones valores de largo y ancho pueden $MiPDF->Image('./images/cruz.png',10,118,'','','png'); generarse, a voluntad, efectos de # otra imagen(jpg) en la que unicamente especificamos el alto distorsión. $MiPDF->Image('./images/cabina.jpg',90,118,'',90,'jpg'); # otra imagen(gif) en la que especificamos ancho y alto y provocamos Inserción de # una distorsión imágenes dinámicas $MiPDF->Image('./images/peligro.gif',215,118,80,50,'gif'); #añadimos una nueva página $MiPDF->AddPage(); Es posible combinar la potencia # asignamos un nombre a la imagen dinámica que vamos a generar gráfica de las funciones de PHP para la creación de imágenes # e incluir en el documento PDF dinámicas con la opción de crear $imagen="ladinamica.jpg"; ficheros PDF mediente la clase # ejecutamos la función que crea la nueva imagen FPDF. La forma de proceder es imagen1($imagen); simple y puedes verla en el # insertamos la nueva imagen y generamos la salida ejemplo que tienes aquí a la $MiPDF->Image($imagen, 45, 35 , 150, '','jpg','http://www.google.es'); derecha. $MiPDF->Output(); # ya podemos borrar la imagen dinámica que hemos creado Basta incluir una función -dentro unlink($imagen); del mismo fichero o por inclusión de un fichero externo que la # esta es la función que crea la imagen dinamica contenga- que cree la imagen # le asignamos un nombre para que sea guarda temporalmente dinámica y la guarde con un # en el directorio actual nombre previamente establecido. function imagen1($imagen){ Header("Content-type: image/jpeg"); Incluimos el nombre de esa $im = imagecreate(200,200); imagen en la función Image y, una $fondo=imagecolorallocate ($im, 0, 0, 200); vez producida la salida mediante $blanco=imagecolorallocate ($im, 255, 255, 255); Output, proceder a borrarla del Imagefill ($im, 0, 0, $fondo); directorio en el que fue creada. Imagerectangle ($im, 10, 10, 190, 190, $blanco); Imagejpeg($im,$imagen); ImageDestroy($im); } ?> Ejemplo140.php Anterior Indice Siguiente