On 9/1/12 4:56 PM, Timothy Miller wrote:

--I'd like to have "grow and "shrink" scripts that will keep the
center of the image area at some location and that will preserve the
proportions of the original image. Maybe also a warning if I try to
grow the display beyond the dimensions of the original

Could someone post an off-the-shelf script that will do this please?

This is from my personal library. It assumes the image is imported into the stack. Pass it an image identifier and a target object:


on scaleToFit pImg,pObj -- the image object, the target object
  put the formattedheight of pImg into theFHt
  put the formattedwidth of pImg into theFWd
put max(the height of pObj/theFHt, the width of pObj/theFWd) into theRatio
  set the height of pImg to theFHt*theRatio
  set the width of pImg to theFWd*theRatio
  set the loc of pImg to the loc of pObj
end scaleToFit

This calculates the largest dimension that will fit into the rect of the target object, scales the image to fit it, and places the image at the location of the target.

The target object is usually a rectangle graphic, a button, or a field. You could use an image object as the target but it won't be used except to calculate the size. I needed it to place an image inside a rectangular "frame".

You call it like this:

scaleToFit the long ID of img "photo",the long ID of grc "frame"

If you don't want to store the image in the stack, you could import it temporarily, run the handler, export the resulting image back to disk, and delete the temporary image from the stack. Then use the exported image as the reference for your image object. If you do that, then it does makes sense to use an image object as your target reference, since you'd be using it later to display the resized image from disk.

--
Jacqueline Landman Gay         |     jac...@hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to