|
| GD: imagejpg() problem Fra : Ukendt |
Dato : 09-01-05 00:25 |
|
Hej
Jeg har lavet en klasse til at gemme et vilkårligt billede i en anden
størrelse. Dette fungerer upåklageligt.
Men jeg kom på den lille tanke at istedet for at lave en masse thumbs, kunne
de blot blive genereret i runtime ( da det kun er få stk pr side)
Det fungerer egentligt fint med eks flg. kode:
<?
Header("Content-type: image/jpeg");
$destimg = imageCreateTrueColor(200,200);
$im = imagecreatefromjpeg("./uploads/test.jpg");
ImageCopyResampled($destimg,$im,0,0,0,0,200,200,ImageSX($im),ImageSY($im));
// or $ERROR_MSG="Could not resize image";
Imagejpeg($destimg,'',20);
ImageDestroy($im);
ImageDestroy($destimg);
?>
MEN nu til mit spørgsmål, for smider jeg det hele ind i en funktion
eller´klasse, bliver billedet ikke længere vist, istedet kommer der bare den
der standard kasse som bruges når billeder ikke kan findes. Kassen har dog
billedets størrelse.
Er der nogen der kan forklare mig hvorfor det fungerer sådan, og evt.
hvordan jeg kommer udenom problemet.
pfh tak
Regin Madsen
| |
Kim Emax (09-01-2005)
| Kommentar Fra : Kim Emax |
Dato : 09-01-05 01:04 |
|
Regin Madsen wrote:
> Er der nogen der kan forklare mig hvorfor det fungerer sådan, og evt.
> hvordan jeg kommer udenom problemet.
det hjalp, hvis du viste den function du prøver at lave. Du skal være
opmærksom på at div. variabler deklareret udenfor funktionen skal
globaliseres inden i funktionen for at virke... eks.:
$a = "hest";
function a() {
return $a; // returnerer ingenting
}
function b() {
global $a
return $a; // returnerer "hest"
}
mvh
Kim Emax
| |
Kim Emax (09-01-2005)
| Kommentar Fra : Kim Emax |
Dato : 09-01-05 01:06 |
|
Kim Emax wrote:
> function b() {
> global $a
> return $a; // returnerer "hest"
> }
Smid selv et ";" ind, hvor det manger... jeg går i seng nu!
Emax
| |
Ukendt (09-01-2005)
| Kommentar Fra : Ukendt |
Dato : 09-01-05 01:28 |
|
jo funktionen kan såmend bare se sådan ud:
<?
Header("Content-type: image/jpeg");
function test(){
$destimg = imageCreateTrueColor(200,200);
$im = imagecreatefromjpeg("./uploads/test.jpg");
ImageCopyResampled($destimg,$im,0,0,0,0,200,200,ImageSX($im),ImageSY($im));
// or $ERROR_MSG="Could not resize image";
Imagejpeg($destimg,'',20);
ImageDestroy($im);
ImageDestroy($destimg);
}
test();
?>
mit første eksempel vil vise billedet i browseren, hvorimod dette ikke vil
vise andet end en "billedet er ikke fundet, men er så stort" box.
"Kim Emax" <newsgroups@emax.dk> wrote in message
news:ey_Dd.81096$Vf.3692318@news000.worldonline.dk...
> Regin Madsen wrote:
>
>> Er der nogen der kan forklare mig hvorfor det fungerer sådan, og evt.
>> hvordan jeg kommer udenom problemet.
>
> det hjalp, hvis du viste den function du prøver at lave. Du skal være
> opmærksom på at div. variabler deklareret udenfor funktionen skal
> globaliseres inden i funktionen for at virke... eks.:
>
> $a = "hest";
>
> function a() {
> return $a; // returnerer ingenting
> }
>
> function b() {
> global $a
> return $a; // returnerer "hest"
> }
>
> mvh
> Kim Emax
| |
Ukendt (09-01-2005)
| Kommentar Fra : Ukendt |
Dato : 09-01-05 02:19 |
|
hmm...efter nogle timer har jeg nu fået det oprindelige script til at virke.
"Regin Madsen" <rjm(AT)mrfraggle.dk> wrote in message
news:41e07a85$0$177$edfadb0f@dread11.news.tele.dk...
> jo funktionen kan såmend bare se sådan ud:
>
> <?
> Header("Content-type: image/jpeg");
>
> function test(){
> $destimg = imageCreateTrueColor(200,200);
> $im = imagecreatefromjpeg("./uploads/test.jpg");
> ImageCopyResampled($destimg,$im,0,0,0,0,200,200,ImageSX($im),ImageSY($im));
> // or $ERROR_MSG="Could not resize image";
>
> Imagejpeg($destimg,'',20);
> ImageDestroy($im);
> ImageDestroy($destimg);
> }
>
> test();
> ?>
>
> mit første eksempel vil vise billedet i browseren, hvorimod dette ikke vil
> vise andet end en "billedet er ikke fundet, men er så stort" box.
>
>
>
>
> "Kim Emax" <newsgroups@emax.dk> wrote in message
> news:ey_Dd.81096$Vf.3692318@news000.worldonline.dk...
>> Regin Madsen wrote:
>>
>>> Er der nogen der kan forklare mig hvorfor det fungerer sådan, og evt.
>>> hvordan jeg kommer udenom problemet.
>>
>> det hjalp, hvis du viste den function du prøver at lave. Du skal være
>> opmærksom på at div. variabler deklareret udenfor funktionen skal
>> globaliseres inden i funktionen for at virke... eks.:
>>
>> $a = "hest";
>>
>> function a() {
>> return $a; // returnerer ingenting
>> }
>>
>> function b() {
>> global $a
>> return $a; // returnerer "hest"
>> }
>>
>> mvh
>> Kim Emax
>
>
| |
|
|