Nu har jeg sgu siddet i 8 timer

Tags:    php

<< < 12 > >>
Nu har jeg sgu siddet i 8 timer og kan ikke få det for****** GDLIB til at virke som jeg gerne vil ha det... Hmm... Nogen der kan vise mig (Giver ikke point), eller lave det for mig (Giver alle point hvis det virker)!

Det jeg vil er at lave en sort box der fylder HELE bunden af det billede man oploader..

Koden ser således ud pt:

Fold kodeboks ind/udKode 



Men, som i nok har regnet ud, så virker det slet ikke! :S



Indlæg senest redigeret d. 14.08.2007 05:17 af Bruger #10201
11 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Så skal du lave noget i retningen af

Fold kodeboks ind/udKode 


Det vil lave en kasse på 20 px ($height - 20).



foran:

imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);

skal du skrive:
$tn=imagecreatetruecolor($modwidth,modheight);
eller
$tn=imagecreate($modwidth,modheight);



Forstår ikke helt hvad du mener, er det sådan her?

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 14.08.2007 07:55 af Bruger #3275
Nemlig Jonas, det er sådan jeg vil ha det! :)

Hvor i den sorte box, skal der stå noget text :)



Ikke for noget Jonas, men, kan du lave et færdigt exembel?
For det virker ikke her..:$



Det virker fint her. Husk at billedet du åbner (i eksemplet er det bla.jpg) skal være i jpg-format, eller skal du bruge f.eks. funktionen imagecreatefrompng, hvis det er et png billede.



Altså, den gemmer billedet på serveren, meeen, den har ikke lavet det sorte felt..

Min kode ser sådan her ud nu:

$im = imagecreatefromjpeg($target_path);
$width = imagesx($im);
$height = imagesy($im);

$black = imagecolorallocate($im, 0, 0, 0);

imagefilledrectangle($im, 0, $height - 20, $width, $height, $black);

$font = 4; // store the int ID of the system font we're using in $font
$text = "Texten er lang.."; // store the text we're going to write in $text

$leftTextPos = ( $width - imagefontwidth($font)*strlen($text) )/2;

imagestring($im, $font, $leftTextPos, $height-18, $text, $yellow);

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

imagejpeg($im, $target_path, 100);

imagedestroy($im);



den kode du viser gemmer intet på serveren af hvad jeg kan se,
den:
-loader billedet som ligger i $target_path.
-laver den sorte boks i bunden.
-skrivet en text i den sorte boks centreret
-returnere headeren for billedet
-returnere billedets data.
-slette billed resourcen på serveren.

for udsat at $target_path er et billed burde du kunne se effekten ved at lave en html fil med koden
<img src="code.php">

hvor code.php indeholder din kode.



Nørden:
Jeg fik det endelig til at virke :D Eller, næsten, for den ville ikke skrive texten på billedet eller lave den der regtangel..

Hvordan laver jeg så thumbs på samme måde? :S



$file = "../files/pic/". $newArray['Billede'];

list($width, $height) = getimagesize($file);
$modwidth = 84;
$modheight = 114;
$tn = imagecreatetruecolor($modwidth, $modheight);

$format = strtolower(substr(strrchr($file,"."),1));
switch($format)
{
case 'gif' :
$type ="gif";
$image = imagecreatefromgif($file);
header('Content-type: image/gif');
break;
case 'png' :
$type ="png";
$image = imagecreatefrompng($file);
header('Content-type: image/png');
break;
case 'jpg' :
$type ="jpg";
$image = imagecreatefromjpeg($file);
header('Content-type: image/jpeg');
break;
case 'jpeg' :
$type ="jpg";
$image = imagecreatefromjpeg($file);
header('Content-type: image/jpeg');
break;
default :
die ("ERROR; UNSUPPORTED IMAGE TYPE");
break;
}

imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);

imagejpeg($tn);

imagedestroy($im);


giver flg resultat:
ERROR; UNSUPPORTED IMAGE TYPE



Indlæg senest redigeret d. 15.08.2007 02:01 af Bruger #10201
Nørden: Underligt, har prøvet begge forslag, men, den bliver ved med at sige ERROR; UNSUPPORTED IMAGE TYPE

:S



<< < 12 > >>
t