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