On 16/03/09 8:49 PM, "Mark Schonewille" <[email protected]> wrote:
> Hi Terry, > > I did this too, a few years ago. The problem I'm still having is that > it only works if a corresponding icns file is available somewhere on > disk. My solution didn't work with applications that aren't > application packages. Does your solution work with applications that > are not applications packages (such as MS Office 2004 applications)? Hi Mark - it should work with apps that aren't packages. It uses the getResources and getResource functions to check for the existence of an icns resource inside the app and extracts that. Terry... > > -- > 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 > > Snapper Screen Recorder is now available for Windows! Download it at > <http://snapper.economy-x-talk.com >> . > > On 16 mrt 2009, at 10:42, Terry Judd wrote: > >> I really didn't think this was possible until I stumbled across the >> AppleScript 'Image Events' dictionary a couple of days ago but here >> (below) >> is a scripted solution for creating a PNG image of a file's icon >> based on >> its filepath. It uses a couple of applescript snippets plus the revXML >> external to parse application pList files but you could undoubtedly >> forgo >> the XML external with a bit of extra scripting effort. >> >> The getIconToFile_Mac function has 4 parameters... >> >> # pSourceFilePath = path of the file you're getting the icon of >> # pDestFilePath = path of the image file you're creating >> # pIconSize = pixel dimensions of output image (e.g. 16 or 32 etc) >> # pReturnImageData = true or false/empty - if true the image >> contents are >> returned by the function >> >> The routine works on files and applications (including application >> bundles) >> and the output is a PNG image which retains transparent regions and >> is ready >> to be sucked up into your project. >> >> There doesn't seem to be any way to capture 'standard' volume and >> folder >> icons (custom folder and volume images are possible) so I've left >> them out >> for now. >> >> I've included a couple of drag and drop handlers that you can place >> in an >> image object to test the routines out. >> >> Anyway, I hope this is useful to someone (it's a bit long and >> messy). Feel >> free to improve or modify as you see fit. >> >> -- >> #################################################################### >> -- ## create an image and put the following 2 handlers in its script >> ## >> -- ## watch out for line wraps >> ## >> >> ON dragEnter >> set the acceptdrop to true >> END dragEnter >> >> ON dragDrop >> put dragData["files"] into tFile >> IF tFile = "" THEN >> put dragData["text"] into tFile >> if tFile is not empty then >> if not ((there is a folder tFile) and char -4 to -1 of tFile = >> ".app") then >> exit dragDrop >> end if >> else >> exit dragDrop >> end if >> end if >> get getIconToFile_Mac(tFile,,128,true) >> if it contains "error:" then >> put "" into me >> else >> put it into me >> end if >> END dragDrop >> >> -- ############################################################### >> -- ## put the following 2 functions in the card or stack script ## >> -- ## watch out for line wraps ## > > <snip> > _______________________________________________ > use-revolution mailing list > [email protected] > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-revolution _______________________________________________ use-revolution mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
