Avatar billede fatsvag Nybegynder
18. februar 2009 - 03:07 Der er 6 kommentarer og
1 løsning

Imagerotate

Hej eksperter.

Jeg har brug for lidt hjælp.
Jeg har et billede som jeg skal have roteret med denn funktion, det virker fint nok hvis jeg bare kører det i et php dokument hvor der ikke er andet, men hvis jeg prøver at køre det i et dokument med header og body går det galt. Håber I kan hjælpe mig.

Det skal lige siges at jeg ikke er særlig garvet indenfor dette område.

Hvis jeg kører dette her virker det fint!

<?php
$filnavn = './billeder/tog2.png';
$grader = 300;
$source = imagecreatefrompng($filnavn);
$rotate = imagerotate($source, $grader, -1);
imagealphablending($rotate, true);
imagesavealpha($rotate, true);
header('Content-type: image/png');
imagepng($rotate);
?>


Men jeg hvis derimod benytter mig at denne kode går det galt:

<html>
<head>
</head>
<body>
<?php
$filnavn = './billeder/tog2.png';
$grader = 300;
$source = imagecreatefrompng($filnavn);
$rotate = imagerotate($source, $grader, -1);
imagealphablending($rotate, true);
imagesavealpha($rotate, true);
header('Content-type: image/png');
imagepng($rotate);
?>
</body></html>

Dette giver en masse volapyk, som umiddelpart ingen mening giver.

Jeg har overvejet at det måske har noget at gøre med:
header('Content-type: image/png');
Så jeg har prøvet at sætte den i starten:

<?php
header('Content-type: image/png');
?>
<html>
<head>
</head>
<body>
<?php
$filnavn = './billeder/tog2.png';
$grader = 300;
$source = imagecreatefrompng($filnavn);
$rotate = imagerotate($source, $grader, -1);
imagealphablending($rotate, true);
imagesavealpha($rotate, true);
imagepng($rotate);
?>
</body></html>

Nu skriver den "Billedet "www.minadresse.dk" kunne ikke vises, da det indeholder fejl."


Jeg er sikker på der er en venlig sjæl der nemt kan løse dette for mig.

På forhånd mange tak.
Avatar billede majbom Novice
18. februar 2009 - 08:13 #1
når du bruger header('Content-type: image/png'); fortæller du browseren at resten af dokumentet er et billede, men det er jo ikke tilfældet når du også skriver html-kode.

det du skal gøre er at lave en php-fil kun med billede-koden og der hvor den skal vises på din html-side, skriver du:

<img src="din_php_fil.php" alt="mit_billede">
Avatar billede fatsvag Nybegynder
18. februar 2009 - 10:16 #2
okay mange tak for det. virkede perfekt.

Tillader mig lige at stille et ekstra spørgsmål da jeg ikke helt kan få mine krav til at blive opfyldt. :)

Variablen $grader er det tal jeg udregner i noget af det andet kode jeg har, men hvis jeg skriver navnet på den variabel der har den værdi som jeg ønsker $grader skal have virker det ikke. Det er som om den ikke kender den variabel når jeg skriver den i min fil med billede-koden.

Er der en måde jeg kan løse dette på?
Avatar billede majbom Novice
18. februar 2009 - 10:23 #3
du kan sende den med når du henter "billedet":

<img src="din_php_fil.php?grader=<?php echo $grader;?>" alt="">
Avatar billede fatsvag Nybegynder
18. februar 2009 - 10:43 #4
Tak for svaret

Lige præcis sådan en løsning jeg er på jagt efter.
Synes dog ikke lige jeg kan få det til at virke.

Jeg kan lige at vise et eksempel:

I det ene dokument:

$grader1 = 100;
echo '<img src="rotate.php?grader=<?php echo $grader1;?>" alt="">' ;

i det andet dokument:

<?php
header('Content-type: image/png');


$filnavn = './billeder/tog2.png';
$grader = $grader1;
$source = imagecreatefrompng($filnavn);
$rotate = imagerotate($source, $grader, -1);
imagealphablending($rotate, true);
imagesavealpha($rotate, true);
imagepng($rotate);
?>

Den printer billedet, men det er ikke drejet.

Hvad gør jeg forkert?
Avatar billede majbom Novice
18. februar 2009 - 10:48 #5
I det ene dokument:

$grader = 100;
echo '<img src="rotate.php?grader='.$grader.'" alt="">';

i det andet dokument:

<?php
header('Content-type: image/png');


$filnavn = './billeder/tog2.png';
$grader = $_GET['grader'];
$source = imagecreatefrompng($filnavn);
$rotate = imagerotate($source, $grader, -1);
imagealphablending($rotate, true);
imagesavealpha($rotate, true);
imagepng($rotate);
?>
Avatar billede fatsvag Nybegynder
18. februar 2009 - 11:20 #6
Tak for hjælpen. Virker super godt!
Avatar billede majbom Novice
18. februar 2009 - 12:06 #7
selv tak og tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester