TimThumb
is hosted on http://code.google.com/p/timthumb/, more documentation on the website of the author BinaryMoon.
I had problem with TimThumb, first off all with my multisite but i found a nice fix written by my Dutch colleagues on http://www.letuslook.nl/how-to-make-timthumb-work-in-wordpress-multisite/.
Then TimThumb was scaling up my small images!
I searched for a couple of hours for a fix but no good results. The only interesting result I found was about the same issue I had (over here). In the issue they refered to an older version of TimThumb which is located here (#69). Well with that version i was capable of fixing my upscaling problem.
The upscaling fix
On line 119 of the current TimThumb you will find:
// generate new w/h if not provided if ($new_width && !$new_height) { $new_height = floor ($height * ($new_width / $width)); } else if ($new_height && !$new_width) { $new_width = floor ($width * ($new_height / $height)); } |
I replaced that piece with the older part:
// don't allow new width or height to be greater than the original if( $new_width > $width ) { $new_width = $width; } if( $new_height > $height ) { $new_height = $height; } // generate new w/h if not provided if( $new_width && !$new_height ) { $new_height = $height * ( $new_width / $width ); } elseif($new_height && !$new_width) { $new_width = $width * ( $new_height / $height ); } elseif(!$new_width && !$new_height) { $new_width = $width; $new_height = $height; } |
Well this worked for me! TimThumb works with my WordPress Multisite and TimThumb isn’t scaling up my small images any more. I’m not a real PHP developer (just a frontend-guy) so maybe this fix is not the best but I hope other people can use it.
If someone knows a better fix or can explain me what is going wrong exactly please leave a comment!
I don’t know a better fix and unfortunately can’t explain you anything.
Just wanted to say thank you! That was just what I was looking for! At first glance it’s working completely fine.
You’re welcome!
Why fixing something on our own when someone already did this job properly. And btw.. the fix worked for me well Rein!