Reducing image file sizes
Mark Schonewille
m.schonewille at economy-x-talk.com
Wed May 20 06:30:39 EDT 2009
Hi,
Here's an approach, quite similar to Jim's. It should be easily
adjustable to use any object (e.g. a rectangular graphic) to determine
the target dimensions. E.g., you could replace the line starting with
"put rescale" with the follwing:
put rescale(the formattedWidth of img 1,the formattedHeight of img 1, \
the width of grc "Some Rectengular Graphic",the height of grc
"Some Rectengular Graphic") \
into myNewRect
on mouseUp
answer file "Select a picture" with type "PNG file|png|PNGf" or
type \
"GIF file|gif|GIFf" or type "JPEG file|jpg|JPEG" or type
"All files|*|*"
lock screen
if it is not empty then
set the filename of img 1 to it
put rescale(the formattedWidth of img 1,the formattedHeight
of img 1, \
the width of this cd,the height of this cd) into
myNewRect
set the width of img 1 to item 1 of myNewRect
set the height of img 1 to item 2 of myNewRect
set the loc of img 1 to the loc of this cd
unlock screen
export img 1 to myPict as PNG
ask file "Save as..." with "test.png"
if it is not empty then
put it into myFile
open file myFile for binary write
write myPict to file myFile
close file myFile
end if
end if
end mouseUp
function rescale theImgWidth,theImgHeight,theCdWidth,theCdHeight
-- put the executioncontexts
-- determine longest side and rescale
if theCdWidth/theImgWidth < theCdHeight/theImgHeight then
put theCdWidth / theImgWidth into myRatio
else
put theCdHeight / theImgHeight into myRatio
end if
put theImgWidth * myRatio into myNewWidth
put theImgHeight * myRatio into myNewHeight
return myNewWidth,myNewHeight
end rescale
--
Best regards,
Mark Schonewille
Economy-x-Talk Consulting and Software Engineering
http://economy-x-talk.com
http://www.salery.biz
Dutch forum: http://runrev.info/rrforum
New: Snapper Screen Recorder 2.0.1
Download at http://snapper.economy-x-talk.com
On 18 mei 2009, at 19:47, J. Landman Gay wrote:
> I have a customer project that displays scanned images and photos of
> varying dimensions. These files are usually huge, with formatted
> sizes in thousands of pixels. I need a way to change the image
> resolution, or otherwise reduce the file size, so that the images
> can be rewritten to disk with a much smaller footprint in order to
> fit them on a single CD. But I need to preserve the original
> dimensions in inches, so that they will still print at their actual,
> original size. I think I need to determine the original resolution
> so that I can calculate the dimensions in inches, right? Is there a
> way to get that?
>
> --
> Jacqueline Landman Gay | jacque at hyperactivesw.com
> HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list