[PHP] Stampare dati Form su immagine di sfondo con html

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Ah, questo codice non so di dovrebbero aggiustare le variabili per il testo... Perché es.$data non lo accetta....
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Non è possibile aprire un'immagine "remota" su AlterVista, il file immagine deve essere presente nello spazio web

Ho sbagliato a scrivere :D
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
te l'avevo scritto nel post #56 terza pagina vai a vedere
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Come lo adatteresti questo codice con immagine e font inserite anche tramite FTP e quindi da remoto (visto che Altervista accetta solo da remoto)...
PHP:
<?php
/**
* Returns with of a line.
* @param array $boudning_box Bounding box
* @return Width of the box
*/
function line_width($bounding_box) {
return abs($bounding_box[2] - $bounding_box[0]);
}


/**
* Returns height of a line.
* @param array $boudning_box Bounding box
* @return Height of the box
*/
function line_height($bounding_box) {
return abs($bounding_box[1] - $bounding_box[5]);
}


/**
* Writes a line of text
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param string $text Text to write
* @return Bounding box
*/
function write_line($image, $size, $x, $y, $color, $font, $text) {
$bbox = imagettfbbox($size, 0.0, $font, $text);
$width = line_width($bbox);
$height = line_height($bbox);

if ($x == 'LEFT') {
$x = 0;
} else if ($x == 'CENTER') {
$x = (imagesx($image) - $width) / 2.0;
} else if ($x == 'RIGHT') {
$x = imagesx($image) - $width;
}

imagettftext($image, $size, 0.0, $x, $y + $height, $color, $font, $text);

return $bbox;
}

/**
* Writes multiples lines of text.
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param array $text Array of lines to write
* @param int $padding Space between lines
*/
function write_lines($image, $size, $x, $y, $color, $font, $text, $padding = 0) {
foreach ($text as $line) {
$bbox = write_line($image, $size, $x, $y, $color, $font, $line);
$y += line_height($bbox) + $padding;
}
}




// Imposta lo header
header('Content-type: image/png');

// Legge i dati
$nome = $_POST['nome'];
$grado = $_POST['grado'];
$officiante = $_POST['officiante'];
$diocesi = $_POST['diofun'];
$arcidiocesi = $_POST['arcifun'];
$data = $_POST['datafun'];

// Legge l'immagine di sfondo ed imposta il colore del testo
$image = imagecreatefromjpeg("http://i.imgur.com/vOZBXEo.jpg");
$color = imagecolorallocate($image, 0x8B, 0x00, 0x00);

// Imposta le righe di testo da scrivere
$text = array(
"Il fedele dell'Altissimo chiamato",
$nome,
"dopo la prematura morte,",
"ha ricevuto il sacramento del funerale,",
"dal $grado$officiante",
"nella Parrocchia di $diocesi, Arcidiocesi di $arcidiocesi,",
"in data $data"
);

// Scrive il testo
write_lines($image, 14, 'CENTER', 350, $color, "http://www.princexml.com/fonts/larabie/kimberle.ttf", $text, 5);

// Mostra l'immagine
imagepng($image);
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
devi salvare l'immagine nella stessa cartella del file php e modificare la chiamata all'immagine
PHP:
$image = imagecreatefromjpeg("http://i.imgur.com/vOZBXEo.jpg");
con
PHP:
$image = imagecreatefromjpeg("vOZBXEo.jpg");
come avevo scritto, non sprei spiegartelo in altro modo
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Ho salvato sia il file php e sia l'immagine jpeg nella cartella principale del sito.
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Problema risolto: guarda qui: http://iabasic1.altervista.org/certificato-di-funerale

Ho inserito questo codice:

PHP:
<?php
/**
* Returns with of a line.
* @param array $boudning_box Bounding box
* @return Width of the box
*/
function line_width($bounding_box) {
        return abs($bounding_box[2] - $bounding_box[0]);
}


/**
* Returns height of a line.
* @param array $boudning_box Bounding box
* @return Height of the box
*/
function line_height($bounding_box) {
        return abs($bounding_box[1] - $bounding_box[5]);
}


/**
* Writes a line of text
* @param resrouce   $image PHP GD image
* @param int        $size  Font size
* @param int|string $x     X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int        $y     Y-coordinate
* @param int        $color Color index
* @param string     $font  Path to the font
* @param string     $text  Text to write
* @return Bounding box
*/
function write_line($image, $size, $x, $y, $color, $font, $text) {
        $bbox = imagettfbbox($size, 0.0, $font, $text);
        $width = line_width($bbox);
        $height = line_height($bbox);

        if ($x == 'LEFT') {
                $x = 0;
        } else if ($x == 'CENTER') {
                $x = (imagesx($image) - $width) / 2.0;
        } else if ($x == 'RIGHT') {
                $x = imagesx($image) - $width;
        }

        imagettftext($image, $size, 0.0, $x, $y + $height, $color, $font, $text);

        return $bbox;
}

/**
* Writes multiples lines of text.
* @param resrouce   $image   PHP GD image
* @param int        $size    Font size
* @param int|string $x       X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int        $y       Y-coordinate
* @param int        $color   Color index
* @param string     $font    Path to the font
* @param array      $text    Array of lines to write
* @param int        $padding Space between lines
*/
function write_lines($image, $size, $x, $y, $color, $font, $text, $padding = 0) {
        foreach ($text as $line) {
                $bbox = write_line($image, $size, $x, $y, $color, $font, $line);
                $y += line_height($bbox) + $padding;
        }
}





header('Content-type: image/jpeg');


$nome        = $_POST['nome'];
$grado       = $_POST['grado'];
$officiante  = $_POST['officiante'];
$diocesi     = $_POST['diofun'];
$arcidiocesi = $_POST['arcifun'];
$data        = $_POST['datafun'];


$image = imagecreatefromjpeg("certificato_funerale.jpg");
$color = imagecolorallocate($image, 0x8B, 0x00, 0x00);


$text = array(
        "Il fedele dell'Altissimo chiamato",
        $nome,
        "dopo la prematura morte,",
        "ha ricevuto il sacramento del funerale,",
        "dal $grado $officiante",
        "nella Parrocchia di $diocesi, Arcidiocesi di $arcidiocesi,",
        "in data $data"
);


write_lines($image, 14, 'CENTER', 350, $color, "Fancy_Caps.ttf", $text, 5);


imagejpeg($image);
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Però.... Mi fa salvare l'immagine.... Ma esce come file php

P.s. E se faccio upload su un sito (es. Tinypic, Imgur, etc) mi compare solo immagine + testo (SENZA IL TESTO COMPILATO NEL FORM).
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Problema risolto, ho inserito solo uno header sotto all altro, questo:
PHP:
header('Content-Disposition: inline; filename=certificato_funerale.jpg');
 
  • Like
Reactions: criric

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Mi sai dire come posso far uscire la schermata di login come questo e che template è?

UcetqCa.png
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [PHP] Stampare dati inviati tramite ajax PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
G leggere file txt e stampare con php il contenuto a video PHP 7
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
P [PHP] Stampare record di diverse tabelle ma con nomi uguali PHP 6
K [PHP] Stampare tabella da database differenti. PHP 4
M Stampare con php e mysql PHP 8
L [PHP] stampare un'array di un database PHP 0
T PHP+MYSQL: stampare record con numero progressivo PHP 3
cristoforo58 Stampare dei valori XML in PHP PHP 0
elpirata [PHP] Stampare i valori di una variabile scritta su più righe PHP 1
K [PHP] Cancellare e Stampare tabella PHP 3
M [PHP] come stampare un Qr-code in FPDF PHP 8
N [PHP] stampare pagina html PHP 0
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
webmachine [PHP] Problema: Stampare tutte le occorrenza di una SELECT PHP 2
L Stampare immagine php PHP 2
F stampare array php PHP 2
P Stampare '<?' in php PHP 7
G Stampare valori in più div con PHP e MySQL PHP 4
L PHP/MySQL: stampare da una tabella attributi raggruppati per genitore PHP 1
F stampare una select con php PHP 7
S Stampare il risultato di una query inner jon in php.... PHP 4
M Stampare contenuto pagine php criptate PHP 4
L Non riesco a stampare BitMap con PHP PHP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0

Discussioni simili