21. december 2001 - 14:08
Der er
6 kommentarer
resize bilde
Jeg har et problem med et bilde jeg vil hente frem fra databasen og resize, før jeg igjen lagrer det i database.
Det blir lagret på formen:
ÿØÿà\\0JFIF\\0\\0H\\0H\\0\\0ÿíðPhotoshop 3.0\\08BIMí\\0\\0\\0\\0\\0\\0Gÿ´\\0\\0\\0Gÿ´\\0\\08BIM \\0\\0\\0\\0\\0\\0\\0\\0x8BIMó\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\08BIM \\0\\0\\0\\0\\0\\0\\08BIM\\\'\\0\\0\\0\\0\\0 \\0\\0\\0\\0\\0\\0\\0\\08BIMõ\\0\\0\\0\\0\\0H\\0/ff\\0\\0lff\\0\\0\\0\\0\\0\\0\\0/ff\\0\\0¡™š\\0\\0\\0\\0\\0\\0\\02\\0\\0\\0\\0Z
etc...
jeg får fint lagret det og hentet det frem igjen for visning på web siden, men jeg får ikke til å resize det og lagre det igjen
Kan noen hjelpe???
21. december 2001 - 14:19
#3
Ja, okay, nu er det heller ikke noget jeg er særlig skrap til, men du skal jo nok vise noget kode, for at det skal kunne løses.
21. december 2001 - 14:30
#4
ok: det er en hel del: LEGGE INN BILDE:
---------------------------------------------------------
fra form.:
$LITEBILDE = fread(fopen($LITEBILDE,\"r\"), filesize($LITEBILDE));
$LITEBILDETYPE = $LITEBILDE_type;
$LITEBILDENAVN = $LITEBILDE_name;
$bildeID = LagreLiteBilde($artID,$LITEBILDE,$LITEBILDETYPE,$LITEBILDENAVN, $DB,$sql);
til insertfunksjon: (som bruker et bibliotek for å inserte i databasen.)
insert(\"LITE_BILDE\",\"BILDE_NAVN\",$LITEBILDENAVN,\"BILDE_TYPE\",$LITEBILDETYPE,\"BILDE\",$LITEBILDE,\"FK_ID\",$artID,\"\",\"\",\"\",\"\",$DB,$sql);
$bildeID = mysql_insert_id($sql);
return $bildeID;
--------------------
HENTE UT BILDE: bruker også bibiotek for å hente ut fra databasen)
$BILDE = getVerdiBilde(\"LITE_BILDE\",\"BILDE\",\"ID\",$bildeID,\"\",\"\",\"\",\"\",\"\",$DB,$sql);
$BILDENAVN = getVerdi(\"LITE_BILDE\",\"BILDE_NAVN\",\"ID\",$bildeID,\"\",\"\",\"\",\"\",\"\",$DB,$sql);
$BILDETYPE = getVerdi(\"LITE_BILDE\",\"BILDE_TYPE\",\"ID\",$bildeID,\"\",\"\",\"\",\"\",\"\",$DB,$sql);
ved å skrive :
Header(\"Content-type: $BILDETYPE\");
echo $BILDE;
skrives nå bildet ut på WEB, dette fungerer helt fint.
Men jeg skal ikke skrive det ut, jeg skal bare resize det, og så gemme det igjen! og det får jeg ikke til.
Fjern Header(\"Content-type: $BILDETYPE\");
Dette fortæller serveren og browseren hvad den er ved at sende og skal kun bruges når du vil vise billedet.
Så bruger du imagecopyresized() eller imagecopyresampled().
Sidstnævnte vis du vil kører antialias når du resizer.
imagecopyresized($NYBILDE, $BILDE, 0, 0, 0, 0, ny X, ny Y, gammel X, gammel Y);
eller
imagecopyresampled($NYBILDE, $BILDE, 0, 0, 0, 0, ny X, ny Y, gammel X, gammel Y);
og sætter $NYBILDE i din database via insert()