View Single Post
Not sure what your work-flow is, but you may find some reusable elements in this script:

Code:
property pTitle : "Place several images     Ver 0.8" -- IN OMNIGRAFFLE
property plngAcross : 4 -- number of thumbnails to place in a row
property prScale : 0.5 -- thumbnail size as a proportion of full size
property pblnShadow : false


--	Ver 0.6	Compatible with Launchbar's 'Instant Send' function
--				Select some files in the Finder, 
--				activate 'Send to' with a double-tap, 
--					Launchbar Preferences > Shortcuts > Modifier taps > Instant send
--				and select the script with its assigned abbreviation.


on run
	-- CHOOSE SOME IMAGES (SELECTING SEVERAL IMAGES FROM THE FILE DIALOG)
	tell application id "sevs"
		activate
		set lstFiles to (choose file with prompt "Place one or more images" with multiple selections allowed)
	end tell
	
	PlaceFiles(lstFiles)
end run

on open (lstFiles)
	PlaceFiles(lstFiles)
end open

on PlaceFiles(lstFiles)
	-- PLACE ALL THE SELECTED IMAGES IN A NEW DOCUMENT
	tell application id "OGfl"
		activate
		tell front canvas of (make new document with properties {automatic layout:false})
			set {rOriginX, rOriginY} to {0, 0}
			set lngMaxHeight to 0
			
			set i to 0
			set my text item delimiters to "/"
			repeat with oFile in lstFiles
				try
					-- GET THE DIMENSIONS OF THE IMAGE
					set strFile to POSIX path of oFile
					-- Image events
					tell application id "imev"
						tell (open file strFile)
							set {rX, rY} to dimensions
							close saving no
						end tell
					end tell
					
					-- SCALE DOWN TO THUMBNAIL
					set {lngWidth, lngHeight} to {rX * prScale, rY * prScale}
					
					-- AT THE END OF THE ROW RETURN TO LEFT HAND PAGE, AND MOVE DOWN A ROW
					if i ≥ plngAcross then
						set rOriginX to 0
						set rOriginY to rOriginY + lngMaxHeight
						set lngMaxHeight to 0
						set i to 0
					else
						-- RECORD THE MAXIMUM DEPTH IN THE CURRENT ROW OF THUMBNAILS
						if lngHeight > lngMaxHeight then set lngMaxHeight to lngHeight
					end if
					
					-- CREATE A THUMBNAIL with [folder/filename] of source image in url
					set strPathEnd to (items -2 thru -1 of (text items of strFile)) as string
					--make new shape with properties {origin:{rOriginX, rOriginY}, size:{lngWidth, lngHeight}, draws stroke:false, fill:no fill, draws shadow:pblnShadow, image:strFile, url:strPathEnd}
					make new shape with properties {origin:{rOriginX, rOriginY}, size:{lngWidth, lngHeight}, draws stroke:false, fill:no fill, draws shadow:pblnShadow, image:strFile, url:strFile}
					
					-- AND INCREMENT THE HORIZONTAL POSITION
					set rOriginX to rOriginX + lngWidth
					set i to i + 1
				on error
					display alert strFile & " does not appear to be a graphic file ..."
				end try
			end repeat
			set my text item delimiters to space
		end tell
	end tell
	
end PlaceFiles