CFImage Center and Crop Question

I am grabbing images when aggregating a blog feed.  For the most part this works just fine:

<cfset theImage = ExpandPath(request.base_relative_url & '/images/uploads/news_images/' & variables.tmp_filename)>
                                                                                                      
<cfset myLargeImg = imageNew(theImage)>
<cfset imageCrop(myLargeImg, (myLargeImg.width/2) - (580/2), (myLargeImg.height/2) - (220/2), 580, 220)>
<cfimage source="#myLargeImg#" action="write" destination="#ExpandPath(request.base_relative_url & '/images/uploads/news_images/'& "large_" & variables.tmp_filename)#" overwrite="yes">

I think the problem I am having is that if the width of the actual image is say only 500px wide, it doesn't do anything at all.

My goal is to make sure that no matter what image is grabbed, I want to create an image that is 580x220 and have whatever it is in the middle of the image.  Right now it seems to be skipping the images if they are smaller.

Any ideas on how I can make sure an image is generated with some part of the the grabbed image and have it be 580x200, no matter what.

Thanks
theideabulbAsked:
Who is Participating?
 
_agx_Commented:
Right now it seems to be skipping the images if they are smaller.

I don't know about skipping, but definitely weird results since your x/y coordinates could end up negative (ie outside of the visible area).

how I can make sure an image is generated with some part of the the grabbed image and have it be 580x200, no matter what.

Verify the image is at least 580/220 before using the imageCrop logic. If it's not, decide how you want to handle it.  You could resize it to 580/220 or ... paste the smaller image onto a blank canvas that's the right size.   All depends on what you want.
0
 
theideabulbAuthor Commented:
yes, i got the image info and did an if statement

<cfif blogLargeImg.width gte 580 AND  blogThumbImg.height gte 220>
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.