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.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Archive /

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

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

Possible bug with GD implementation


Go to End


4 Posts   1577 Views

Avatar
Design City

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
Andante

Community Member, 231 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
Design City

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!