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

Fuego2806

Utente Attivo
27 Lug 2016
73
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
73
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
73
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
73
2
8
Ho salvato sia il file php e sia l'immagine jpeg nella cartella principale del sito.
 

Fuego2806

Utente Attivo
27 Lug 2016
73
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
73
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
73
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
73
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
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 3
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
G Invio form con PHP PHP 1
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6

Discussioni simili