Avatar billede ziron Nybegynder
11. juni 2008 - 01:57 Der er 1 kommentar og
1 løsning

Resize image fra mysql direkte til skærm?

Hej exp'er,

Jeg har en mysql database, hvor jeg har gemt et billede i en blob.
Jeg skal nu resize dette billede og smide outputet ud på skærmen, direkte uden at gemme filen på disken.
Jeg ville menu kan skulle kunne lade sig gøre, men lige hvor fejlen ligger er jeg ikke klar over, jeg bruger følgende kode:


$sql = "SELECT image FROM tblimages WHERE id='$id'";

$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());

//Header
header("Content-type: image/jpeg");
$OrgImageSize = getimagesize(mysql_result($result, 0));           
$OrgImage = imagecreatefromjpeg(mysql_result($result, 0));
//create small image
$smallImage = imagecreatetruecolor(50,42);
//resize the image.
imagecopyresampled($smallImage,$OrgImage,0,0,0,0,50,42,$OrgImageSize[0],$OrgImageSize[1]);
//Makes the output
imagejpeg($smallImage, NULL);
 
//clean-up
imagedestroy($OrgImage);
imagedestroy($smallImage);


Ud fra dette får jeg bare en sort box i målene 50x42.
Avatar billede coderdk Praktikant
11. juni 2008 - 02:23 #1
Lav:

$OrgImageSize = getimagesize(mysql_result($result, 0));         
$OrgImage = imagecreatefromjpeg(mysql_result($result, 0));

om til:

$OrgImage = imagecreatefromstring(mysql_result($result, 0));

og lav:

imagecopyresampled($smallImage,$OrgImage,0,0,0,0,50,42,$OrgImageSize[0],$OrgImageSize[1]);

om til:

imagecopyresampled($smallImage,$OrgImage,0,0,0,0,50,42,imagesx($OrgImage),imagesy($OrgImage));
Avatar billede ziron Nybegynder
11. juni 2008 - 02:47 #2
Takker,

Havde ikke lige spottet at jeg skulle create på en anden måde.
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