Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Possible bug with GD implementation


Reply


4 Posts   1363 Views

Avatar
DesignCity

38 Posts

11 September 2007 at 4:32pm

Edited: 14/09/2007 2:03pm

I've been trying to set up some images to display cropped (using CroppedImage) rather than resized (using SetWidth) thumbnails. It seems that no matter what I do, I can't get it to work.

Something like $image_one.SetWidth(200) works fine, displaying the image resized to 200px wide maximum.

If I try $image_one.CroppedImage(200,130), I get a wonderful fatal error:

FATAL ERROR: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions
At line 47 in /Applications/MAMP/htdocs/ss/sapphire/filesystem/GD.php

imagecreatetruecolor(0,0)
line 47 of GD.php

GD->croppedResize(,)
line 175 of Image.php

Image->generateCroppedImage(Object,,)
line 150 of Image.php

Image->generateFormattedImage(CroppedImage,,)
line 125 of Image.php

Image->getFormattedImage(CroppedImage)
line of

call_user_func_array(Array,Array)
line 145 of Object.php

...And so it goes. You get the picture :)

It seems that the two sizes aren't getting passed for some reason. If I only try to pass 1 size (eg $image_one.CroppedImage(200)), the error at least recognises that one size has been passed with the second size missing. This seems strange.

I've tried using the methods described in http://doc.silverstripe.com/doku.php?id=imageupload and still no luck - three hours later... :(. Anyone have any ideas of what I'm doing wrong, or is this a bug?

Cheers
Michael

Avatar
Andy

230 Posts

12 September 2007 at 10:00am

Edited: 12/09/2007 10:00am

This is a bug in the template system - try:

[html]
<% control image_one %>
$CroppedImage(200,130)
<% end_control %>
[/html]

Avatar
Sean

Forum Moderator, 922 Posts

12 September 2007 at 12:08pm

I believe the template parser can't handle $Property.Subproperty(Parameter). More specifically it's the SSViewer class. If you're feeling lucky you could try implement this. :-)

It is a little confusing.

Cheers,
Sean

Avatar
DesignCity

38 Posts

14 September 2007 at 2:03pm

That worked a treat Andy, thanks :)

And I'd love to try to implement it, but I'm just a lowly designer still learning PHP... It seems to be similar to learning a foreign language: I can understand most of it, but speaking it is very hard!