[PHP] Image resizen werkt niet!?

Pagina: 1
Acties:

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Ik krijg steeds de melding:

Warning: Supplied argument is not a valid Image resource in c:\phpdev\www\public\album.php on line 84

Heb dit script geschreven:
PHP:
1
<?copy($somevar2, $somevar); // foto naar thumbs copieren$inputImg = ImageCreateFromJPEG($somevar);$srcX = imagesx($inputImg);$srcY = imagesy($inputImg);$dstY = 90; // is altijd deze hoogte$maxX = 120; // past zich aan$ratio = ($srcY / $dstY);$dstX = ($srcX / $ratio);imagecopyresized ($somevar, $somevar, 0, 0, 0, 0, $maxX, $dstY, $srcX, $srcY);?>

Ik wil dus een foto naar een thumbs mapje copieren (werkt) en daar resizen naar thumb formaat (werkt niet).

src is gelijk aan dst... moet kunnen geloof ik.
Is er niet een functie die gewoon resized ipv copieert?

Wat is er fout aan m'n imagecopyresized functie? :s
(Of werkt dit soort dingen niet in phpdev? Heb je er GD library voor nodig ofzo?)

Verwijderd

Kan je even aangeven waar regel 84 in je code zit?

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Sorry. Dat was dus regel:

imagecopyresized ($inputImg, $inputImg, 0, 0, 0, 0, $maxX, $dstY, $srcX, $srcY);

Heb nu zoals je ziet $somevar in $inputImg veranderd. Nu is die foutmelding weg... maar de thumb word niet geresized... :s

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Dat je er GD lib voor nodig hebt had je kunnen vinden in de php-manual.

Maar die foutmelding van je is geen melding die je dan zou krijgen als je dat niet had.

Ik snap ook niet waarom jij $somevar als afbeelding meegeeft aan je imagecopyresized, dat is de lokatie van de file die je voor je imagecreate gebruikte...

Lees de manual nog eens wat beter door ;)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ah stiekem editten he? :)

Overigens betekend het resizen BINNEN php niet dat ie ook BUITEN php veranderd...
Daar moet je nog een 'imagejpeg' call voor gebruiken...

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Op donderdag 13 juni 2002 10:14 schreef ACM het volgende:
Dat je er GD lib voor nodig hebt had je kunnen vinden in de php-manual.

Maar die foutmelding van je is geen melding die je dan zou krijgen als je dat niet had.

Ik snap ook niet waarom jij $somevar als afbeelding meegeeft aan je imagecopyresized, dat is de lokatie van de file die je voor je imagecreate gebruikte...

Lees de manual nog eens wat beter door ;)
Ja dat copieren is onzin want dat hoort imagecopyresized te doen, maar dat werkte niet dus probeerde ik eerst ff of ik uberhaupt wel iets weg kon schrijven... dat lukte dus wel.

Vraag is nu waarom hij niet wil resizen.

Ook al doe ik:

$inputImg = ImageCreateFromJPEG($somevar2);

en

imagecopyresized ($inputImg, $somevar, 0, 0, 0, 0, $maxX, $dstY, $srcX, $srcY);

Dan zegtie nog:

Warning: Supplied argument is not a valid Image resource in c:\phpdev\www\public\album.php on line 78

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Op donderdag 13 juni 2002 10:16 schreef ACM het volgende:
Ah stiekem editten he? :)

Overigens betekend het resizen BINNEN php niet dat ie ook BUITEN php veranderd...
Daar moet je nog een 'imagejpeg' call voor gebruiken...
Ahhhh, dat zou het kunnen zijn...
brb... ;)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 13 juni 2002 10:20 schreef Victorio het volgende:
Warning: Supplied argument is not a valid Image resource in c:\phpdev\www\public\album.php on line 78
Die $somevar is nog steeds geen valid image :)
je moet daar even een $image vanuit imagecreate(); instoppen

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Op donderdag 13 juni 2002 10:23 schreef ACM het volgende:

[..]

Die $somevar is nog steeds geen valid image :)
je moet daar even een $image vanuit imagecreate(); instoppen
Hmmm die snap ik niet. somevar is een pad met uiteindelijke file.

imagecreate is toch alleen een x en y?

heb nu dit:
PHP:
1
<?$inputImg = ImageCreateFromJPEG($somevar2);$srcX = imagesx($inputImg);$srcY = imagesy($inputImg);$dstY = 90; // is altijd deze hoogte$maxX = 120; // past zich aan$ratio = ($srcY / $dstY);$dstX = ($srcX / $ratio);$image = imagecreate($maxX,$dstY);$image2 = imagecopyresized($inputImg, $somevar, 0, 0, 0, 0, $maxX, $dstY, $srcX, $srcY);Imagejpeg($image2,'',20);?>

waar moet die imagecreate(); dan?
en staat die imagejpeg(); op de goed plek? ;(

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 13 juni 2002 10:40 schreef Victorio het volgende:
Hmmm die snap ik niet. somevar is een pad met uiteindelijke file.
www.php.net/imagecopyresized
die werkt dus niet met paden, maar met image-representaties.
imagecreate is toch alleen een x en y?
www.php.net/imagecreate
heb nu dit:
waar moet die imagecreate(); dan?
www.php.net/imagecreate
en staat die imagejpeg(); op de goed plek? ;(
www.php.net/imagejpeg

In 10 regels code is er maar weinig plek waar het zou moeten...

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Ik snap er nu helemaal niks meer van... ;(

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
PHP:
1
<?$inputImg = ImageCreateFromJPEG("foto.jpg");$srcX = imagesx($inputImg);$srcY = imagesy($inputImg);$dstY = 90; // is altijd deze hoogte$maxX = 120; // past zich aan$ratio = ($srcY / $dstY);$dstX = ($srcX / $ratio);$outputImg = ImageCreate ($maxX, $dstY);imagecopyresized($outputImg, $inputImg, 0, 0, 0, 0, $maxX, $dstY, $srcX, $srcY);imagejpeg ($outputImg,$outputImg,50);?>

imagejpeg slaat nergens op... maar is de rest ok?

  • Grum
  • Registratie: Juni 2001
  • Niet online
probeer et uit ?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 13 juni 2002 11:49 schreef Victorio het volgende:
imagejpeg slaat nergens op... maar is de rest ok?
Die staat toch ook in de manual uitgelegd wat die doet/kan :?

  • kaandorp
  • Registratie: November 1999
  • Laatst online: 03-09 22:36
TADA! Zoek en gij zult vinden!

[topic=320252/1/25]

O ja... En op elke willekeurige PHPfreakz, devshed, phpbuilder site staat ook zo'n script. BTW

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Is waar, maar het is wel zo leuk om zelf iets te knutselen wat je ook begrijpt. :)

Heb het zaakje aan de praat:
PHP:
1
<?$image_file_path = "fotos/$entry";$new_image_file_path = "thumbs/$entry";$return_val = 1;$return_val = ( ($img = ImageCreateFromJPEG ( $image_file_path )) &amp;&amp; $return_val == 1 ) ? "1" : "0";$FullImage_width = imagesx ($img); // Foto width$FullImage_height = imagesy ($img); // Foto height$new_height = 84; // Thumb height$maxX = 112; // Thumb width, past zich aan$ratio = ($FullImage_height / $new_height);$new_width = ($FullImage_width / $ratio);$full_id = ImageCreate($new_width , $new_height ); //create an image$full_id = ImageCreateTrueColor($maxX, $new_height);imagefill($full_id, 0, 0, ImageColorAllocate($full_id, 255, 255, 255));ImageCopyResized($full_id, $img, 0,0,0,0, $new_width, $new_height, $FullImage_width, $FullImage_height);$return_val = ( $full = ImageJPEG( $full_id, $new_image_file_path, 40) &amp;&amp; $return_val == 1 ) ? "1" : "0";ImageDestroy( $full_id );?>

Kleuren zijn nu ook ok en thumbjes van 84x112 px zijn max. 3 kb. Ik ben tevreden. :)

  • Grum
  • Registratie: Juni 2001
  • Niet online
En zo te zien begrijp je er nog geen snars van :P
Je kan dit in een regel of 5 oplossen ipv 15+

1/ ImageCreateFromJPEG
2/ GetImageSize
3/ ImageCreateTrueColor
4/ ImageCopyResized (liever ImageCopyResampled)
5/ ImageJPEG

dood simpel ... toch ? :D

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 09:26

pietje63

RTFM

www.thomasvanditzhuijsen.benik.nl

daar staat onder downloads een fotoupload script
die maakt ook thumbnail
check dat eens

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!

Pagina: 1