Gå til innhold

Midtstille tekst i PHP


Anbefalte innlegg

Jeg vil gjerne at skriften i scriptet under skal midstilles og gjøres så liten at skriften ikke går ut av bildet. Hmm :hmm:

 

<?php
// Headers
header("Content-Type: image/jpeg");

// Instillinger
$mappe = ""; // Mappen som bildene lagres i

// Mottar variabler fra skjema
$format = $_REQUEST['format'];
$w = $_REQUEST['w'];
$h = $_REQUEST['h'];
$strekke = $_REQUEST['strekke'];
$bilde = $_REQUEST['bilde'];
$tekst = $_REQUEST['text'];
$effekt = $_REQUEST['effekt'];

// Genererer variabler
$nytt_filnavn = rand(1000000, 9999999);
list($width, $height, $bilde_type, $attr) = getimagesize($bilde);
$attr = getimagesize($bilde);

// Starter bildemanipulering
if($bilde_type==1)
{
$bilde = imagecreatefromgif($bilde); // Lager bakgrunn
}
elseif($bilde_type==2)
{
$bilde = imagecreatefromjpeg($bilde); // Lager bakgrunn
}
elseif($bilde_type==3)
{
$bilde = imagecreatefrompng($bilde); // Lager bakgrunn
}

// Strekker bildet om ønsket
if($strekke)
{
if($width<$height)
{
 $w = $h * ($width/$height);
}
else
{
 $h = $w / ($width/$height);
}   
}

if($text!=NULL)
{
$text = imagecreatetruecolor($width, $height); // Lager bildet som teksten skal plasseres på
$hvit = imagecolorallocate($text, 255, 255, 255); // Lager hvitfarge til bakgrunn
imagefill($text, 0, 0, $hvit); // Fyller bildet med hvit farge
imagecolortransparent($text, $hvit); // Gjør hvitfargen om til gjennomsiktig farge

$textcolor = imagecolorallocate($text, 0, 0, 0); // Lager tekstfarge
imagettftext($text, 50, 0, 50, 100, $textcolor, "Arial.TTF", $tekst); // Legger til tekst
imagefilter($text, IMG_FILTER_SMOOTH, 0); // Legger til effekt
 
imagecopymerge($bilde, $text, 0, 0, 0, 0, $width, $height, 100); // Legger tekst over bakgrunn
}

$lagret_bilde = imagecreatetruecolor($w, $h); // Lager en hvit bakgrunn som alt skal legges på
$hvit = imagecolorallocate($lagret_bilde, 255, 255, 255); // Lager hvitfarge til bakgrunn
imagefill($lagret_bilde, 0, 0, $hvit); // Fyller bildet med hvit farge

imagecopyresampled($lagret_bilde, $bilde, 0, 0, 0, 0, $w, $h, $width, $height); // Endrer størrelsen på bildet

if($effekt!=NULL)
{
list($width, $height, $bilde_type, $attr) = getimagesize($effekt); // Henter info om effektbilde
$effekt_bilde = imagecreatefrompng($effekt); // Opretter GD bilde av effektbilde
imagecopyresampled($lagret_bilde, $effekt_bilde, 0, 0, 0, 0, $w, $h, $width, $height); // Endrer størrelsen på effektbildet og legger det til
}

// Lagrer bilde på server
if($format=="jpeg")
{
imagejpeg($lagret_bilde, $mappe.$nytt_filnavn.".jpg", 100);
}
elseif($format=="gif")
{
imagegif($lagret_bilde, $mappe.$nytt_filnavn.".gif");
}
elseif($format=="png")
{
imagepng($lagret_bilde, $mappe.$nytt_filnavn.".png");
}

imagejpeg($lagret_bilde, NULL, 100); // Skriver ut bildet på skjermen

// Sletter bilder
imagedestroy($bilde);
imagedestroy($text);
imagedestroy($lagret_bilde);
imagedestroy($effekt_bilde);
?>

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...