Jump to content
Larry Ullman's Book Forums
Sign in to follow this  
Necuima

Example Of A Flex/air Native Process

Recommended Posts

Hi,

 

After a bit of sweat and tears, I finally managed to get a FLEX/AIR native process to work and Larry encouraged me to post it in case it is of interest.

 

A bit of background:  Since the publication of Larry's book, Adobe released version 4.6 of FlashBuilder as well as the 4.6 SDK. This and subsequent versions support a capability called 'native process' which enables a FLEX/AIR application to call another application which would normally run in a DOS box (Windows) or the equivalent in a Mac.

 

This capability enables you to put a user-friendly front end (UI) onto an application that would normally run in a DOS box.

 

Larry will shortly post my code which is an example of using native process to invoke ImageMagick to resize jpg image files - one by one.  ImageMagick is available free to download from the 'Net and is a very powerful image processor - it can resize images as well as do heaps of other neat things with image files.  So in a sense my example only scratches the surface of ImageMagick's capabilities, nevertheless I have found image resizing useful.

Anyone trying this will have to edit one line in the mxml code and that is the exact location of the ImageMagick convert.exe file in their environment.

 

I have left quite a few comments in the code which I hope will be of value.

 

I found a couple of traps along my native process learning journey - firstly the xml file has to have the extended profile added to it - see the bottom of the xml file.  Secondly, if you are using FlashBuilder to create the file which will subsequently be transformed by AIR into an executable, you need to export release build it as a 'signed native installer' otherwise you will get errors if you try to export release build it as a 'signed AIR package' (it took me ages to get that bit right!).

 

Re the resizing functionality: the user first selects a jpg image file to be resized from the user's desktop or PC.  Then it needs the new size parameter to be filled in (in pixels).  The value will be the new image width for a landscape image or the new image height for a portrait image - in either case the image aspect ratios are preserved.  Then the UI asks you for the image quality value to use for the processed image - the higher the quality parameter the larger the resultant image file will be. I have found that a quality parameter value of about 75 to 80 still yields good image quality with smaller file sizes. Once the processing is complete, the new image file is written out to the user's desktop/PC with a 'resized' file name suffix (in the same directory as the input image).

 

Note that the usual pixilation problems will appear if you try to increase the size of the image, as the program is written to only enable the selection of a jpg file.  Though this could be changed to select a lossless image file format but you'd need to change the file selection filter.

 

Note: this application runs on the desktop (so that it can access the file system) thus is not a browser-Flash application.

 

As mentioned above, Larry will post the code in case anyone wants to try this.

 

Cheers from Oz!

Share this post


Link to post
Share on other sites

Is there any way to put up a permanent link to those files? I'm in the exact same scenario of trying to use ImageMagick in an Adobe AIR project, would love to see some examples to help trouble shoot any problems. 

 

Thanks,

Quinn

Share this post


Link to post
Share on other sites

Hi Quinn,

 

If Larry hasn't been able to fix the access to the code, maybe I can help.

I could maybe email it to you but then I'd need your email address.

The best way is probably via a dropbox.

 

Let me know if I can help.

 

Cheers from Oz, Necuima.

Share this post


Link to post
Share on other sites

Hi,

 

If Larry can't fix the dropbox link, I will ask Larry to send you my email address, then you can email me and I will attach the code as files.

 

Cheers from Oz.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...