Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Allineamento FOTO

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    91

    Allineamento FOTO

    Ekkime sono di nuovo io ancora purtroppo alle prese con una stampa pdf....
    Devo trovare assolutamente il modo che ogni foto di qualsiasi dimensione MAX (600px x 450px)sia centrata
    ho provato a mettere dentor una cella e poi allinearli al centro ma non funziona...
    Qualche idea?!?!?!?

    PS: così finisco questa rottura di stampa :P

    THK a tutti!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Io faccio così:

    codice:
    <?php
      require("../../../FPDF/fpdf.php");
      
      $pdf = new FPDF();
      $pdf->AddPage();
      $image_path = "../../../oldpic.jpg";
      list($width, $height)= getimagesize($image_path);
      
      $width_mm = ($width/300)*25.4;
      $height_mm = ($height/300)*25.4;
      
      $x = (210- $width_mm)/2;
      $pdf->Image($image_path, $x, 0, $width_mm, $height_mm);
      $pdf->Output();
    ?>
    300 è la mia dpi per l'immagine, chiaramente la devi sistemare in base alla qualità delle tue immagini. Inoltre ho considerato come larghezza totale della pagina la larghezza del classico A4, 210 mm. Anche questo da sistemare in base alle tue necessità.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    91
    quindi in questo caso io avrò:

    $width_mm = ($width/600)*25.4;
    $height_mm = ($height/450)*25.4;

    $x = (210- $width_mm)/2;
    $pdf->Image($image_path, $x, 0,' ', $height_mm);

    DOMANDA: ma 25,4 cosa é?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    No. Devi prima determinare il DPI dell'immagine. Purtroppo GD non ha una funzione che lo faccia automaticamente (però se stai lavorando con JPEG, i byte 15-16 e 17-18 rappresentano i DPI orizzontale e verticale dell'immagine), mentre ImageMagik avrebbe questa feature già implementata. Il DPI è il "dot-per-inch", ossia quanti punti per pollice (in pratica, qualità di stampa) della tua immagine, che ti serve per determinare quanto spazio occupa nel tuo PDF, che appunto è un media per stampa.

    Quindi nella formula, 300 è la DPI, $width e $height la larghezza ed altezza in pixel così come vengono lette da getimagesize, 25.4 è il fattore di conversione da pollici a millimetri
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ecco, scritta la funzione per le JPEG;

    codice:
    function getDPIFromFile($path) {
        $handle = fopen($path, "rb");
        fseek($handle, 14);
        $width = fread($handle, 2);
        $height = fread($handle, 2);
        $return = array(hexdec(bin2hex($width)), hexdec(bin2hex($height)));
        return $return;
    }
    La usi così:
    codice:
    list($h_dpi, $v_dpi) = getDPIFromFile($image_path);
    e quindi le righe con il 300 diventano
    codice:
    $width_mm = ($width/$h_dpi)*25.4;
    $height_mm = ($height/$v_dpi)*25.4;
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.