Knocked this up today as I figure it will prove it’s worth in the future. Drag and drop an image onto it and it will generate the necessary files for the various icons/artwork an iPhone/iPhone4 or iPad application, it should work with PNG, JPG and all the usual formats and also for other apps if you have them installed and they support applescript, e.g. photoshop.
-- Receives files and generates the necessary Icons with the correct names/sizes
-- for iPhone/iPhone4 and iPad applications
on open the_images
repeat with thine_image in the_images
try
generate_icons(thine_image)
end try
end repeat
end open
(*
set this_image to choose file of type {"JPG", "PNG"}
generate_icons(this_image)
*)
to generate_icons(this_image)
set oldDelim to AppleScript's text item delimiters
set AppleScript's text item delimiters to {"."}
set cur_name to name of (info for this_image) as string
set basename to first text item of cur_name
set extension to "." & last text item of cur_name
try
tell application "Image Events"
launch
-- Open image and resize to 72
set imageptr to open this_image
scale imageptr to size 72
set the props_rec to the properties of imageptr
set savePath to (path of location of props_rec) & "Icon-72.png"
save imageptr as PNG in file savePath with icon
end tell
tell application "Image Events"
-- Open image and resize to 50
set imageptr to open this_image
scale imageptr to size 50
set the props_rec to the properties of imageptr
set savePath to (path of location of props_rec) & "Icon-Small-50.png"
save imageptr as PNG in file savePath with icon
end tell
tell application "Image Events"
-- Open image and resize to 29
set imageptr to open this_image
scale imageptr to size 29
set the props_rec to the properties of imageptr
set savePath to (path of location of props_rec) & "Icon-Small.png"
save imageptr as PNG in file savePath with icon
end tell
tell application "Image Events"
-- Open image and resize to 58
set imageptr to open this_image
scale imageptr to size 58
set the props_rec to the properties of imageptr
set savePath to (path of location of props_rec) & "Icon-Small@2x.png"
save imageptr as PNG in file savePath with icon
end tell
tell application "Image Events"
-- Open image and resize to 57
set imageptr to open this_image
scale imageptr to size 57
set the props_rec to the properties of imageptr
set savePath to (path of location of props_rec) & "Icon.png"
save imageptr as PNG in file savePath with icon
end tell
tell application "Image Events"
-- Open image and resize to 114
set imageptr to open this_image
scale imageptr to size 114
set the props_rec to the properties of imageptr
set savePath to (path of location of props_rec) & "Icon@2x.png"
save imageptr as PNG in file savePath with icon
end tell
tell application "Image Events"
-- Open image and resize to 512
set imageptr to open this_image
scale imageptr to size 512
set the props_rec to the properties of imageptr
set savePath to (path of location of props_rec) & "iTunesArtwork"
save imageptr as PNG in file savePath with icon
end tell
set AppleScript's text item delimiters to oldDelim
on error m
set AppleScript's text item delimiters to oldDelim
log ("GENERAL ERROR: " & m)
return false
end try
end generate_icons
It’s worth noting the following warnings:
– It’s not efficient.
– It’s dumb, it will overwrite stuff.
– If you drop more than one file you’ll probably only get the last one.
This suits my needs, feel free to alter it to produce other stuff.. for example you should spot the basename and extension stuff so savePath could become:
set savePath to (path of location of props_rec) & basename & "-Icon-72" & extension
You could then make the file type match the original with:
set file_format to imageptr's file type
then edit PNG in the save code to become file_format.