Loading an Image from a local File (AIR/Flex)

var f:File = (assume it's a valid image file reference)
var i:Image = new Image();
i.source = f.nativePath;
Kinda makes sense right? Except it doesn't display properly when the image is added unless I also specify a width and height on the new Image. This may not be a problem in many applications that hard code the size anyway, but I want to use the actual size of the image, without rescaling.
i.width = whatever;
i.height = whatever;//But I don't want to hard code these values, I want "actual" image size!
Anyone know of a way to get around this problem? Am I missing a step here? Web resources on this specific topic are very lacking.

I would think that this crummy custom Image class hack would work, but surprise surprise -- the width/height in loaderInfo is flat out WRONG when the event fires. It seems to have a hard coded width/height no matter what the file size. Silly!
<mx:Image xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()">
     <mx:Script>
          <![CDATA[
               public function init():void {
                    this.addEventListener(Event.COMPLETE, loaded);
               private function loaded(e:Event):void {
                    this.width = this.loaderInfo.width;
                    this.height = this.loaderInfo.height;
          ]]>
     </mx:Script>
</mx:Image>
Turns out, this version DOES work (but it's still a hack fix in my opinion):
<mx:Image xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()">
     <mx:Script>
          <![CDATA[
               public function init():void {
                    this.addEventListener(Event.COMPLETE, loaded);
               private function loaded(e:Event):void {
                    this.width = this.contentWidth;
                    this.height = this.contentHeight;
          ]]>
     </mx:Script>
</mx:Image>
You guys at Adobe are so silly.    It would seem to me that Image's width and height should be set (rather than left at 0) once the content's width and height is known.  So now that I've fixed this bug (as far as I'm concerned) for ya Adobe, I take cash, cashier's check, or money orders--thanks!
But really, if this doesn't work this way in Flex 4, I think it should.

Similar Messages

  • I want to embed text AND image from same XML file

    Hey,
    I got following problem:
    I want to put 1 image AND my text in 1 external XML file.
    I can load either one of them in seperate XML files.
    I need this because I want my content to be scrollable on my website and with this my image has to scroll with my text.
    I got following AS3 put in now:
    (ACTIONSCRIPT3.0)
    //LOADING EXTERNAL XML & IMAGE//
    var xml:XML;
    var urlRequest:URLRequest = new URLRequest("externaltext/welkom_content.xml");
    var urlLoader:URLLoader = new URLLoader();
    urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
    urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
    urlLoader.load(urlRequest);
    function urlLoader_complete(evt:Event):void {
        xml = new XML(evt.target.data);
        welkom_content_text.text = xml.toXMLString();
    //LOADING EXTERNAL PICTURES//
    var xmlData:XML=new XML();
    var pHeight:Number = 200;
    var pWidth:Number = 200;
    var listLoader:URLLoader = new URLLoader( new URLRequest("externaltext/testxmlimage.xml") );
    var picLoader:Loader = new Loader();
    listLoader.addEventListener(Event.COMPLETE, gotList);
    function gotList(evt:Event):void {
       var xmlData:XML = XML(listLoader.data);
       var numImages:Number = xmlData.pix.length();
       var stImage:String = xmlData.image
    picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, gotPic);
    picLoader.load( new URLRequest(stImage) );
    listLoader.removeEventListener(Event.COMPLETE, gotList);
    function gotPic(evt:Event):void {
    var thisBmp:Bitmap = Bitmap(evt.target.content);
    thisBmp.x = 0;
    thisBmp.y = 0;
    var thisWidth:Number = thisBmp.width;
    var thisHeight:Number = thisBmp.height;
    thisBmp.scaleX = pWidth/thisWidth;
    thisBmp.scaleY = pHeight/thisHeight;
    addChild(thisBmp);
    picLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, gotPic);
    (/ACTIONSCRIPT3.0)
    And my XML file for the text content is as following:
    (XML TEXT FILE)
    <?xml version="1.0" encoding="utf-8"?>
    .... ALL OF MY CONTENT
    (/XML TEXT FILE)
    And for my image the XML file is as following:
    (XML IMAGE FILE)
    <?xml version="1.0" encoding="utf-8"?>
    <imagelist>
    <image>externaltext/testpicxml.jpg</image>
    </imagelist>
    (/XML IMAGE FILE)
    Does anyone know how to fix this and how to do it?
    Thanks in advance!
    Every help is appreciated!

    Thanks!
    And again... I'm doing some things wrong.. I feel dumb!
    Trying to make a website in ASP.NET almost whole day, so my head isn't set to AS3 at all..
    My code now to embed XML looks like:
    var xml:XML = new XML();
    var XMLURL:String = "externaltext/welkom_content_pic.xml";
    var myXMLURL:URLRequest = new URLRequest(XMLURL);
    var myLoader:URLLoader = new URLLoader(myXMLURL);
    var page:Sprite = new Sprite();
    myLoader.addEventListener("complete", urlLoader_complete);
    function urlLoader_complete(evt:Event):void {  
    addChild( page );
    page.addChild( welkom_title_text );
    page.addChild(  welkom_content_text );
    page.addChild(  welkom_image_holder );
    xml = new XML(evt.target.data);   
    welkom_title_text.text = [email protected]();   
    welkom_content_text.text = xml.item.toString();       
    //use URLLoader to load the image from the path [email protected]()
    Probably set some things wrong..
    And what exactly do I have to set to load my image with it?
    We were all a beginner once.. but I'm the uber annoying beginner I think... hehe
    I probably won't be answering untill thursday, because I got a day off, so..
    Thanks!!!!!!!!!!!!!!!!

  • Newbe Question: Setting a cursor image from a source file

    I have a panel that is dynamiclly loaded with images from files. I wanted to set the cursor to the image, originally I was going to load a sprite with the image and have it follow the cursor but I figured that it might be better using the CursorManager. I've used the cursormanager with a image that is embed as a class but I'm having a problem doing it from the spark image object. Any suggestions?
    Thanks,
    Bubba

    Ok guys - managed to solve my problem - used the following code:
    try {
    FileReader file = new FileReader("C:/wherever ya put your file");
    BufferedReader in = new BufferedReader(file);
    String line;
    while((line = in.readLine()) != null) {
    groupMonth = line;
    in.close();
    }catch (Exception e) {}
    I then used the setText() function to assign the value to the JLabel.
    All is well :P
    Chuck
    P.S Thanks for the pointer it certainly helped.

  • Load multiple images from directory?

    What is the best way to use CF to load multiple images from a
    server directory please? I have CF calling a stored procedure that
    returns an array of file names. I am using a Flex front end, and
    wonder if I should just pass the file name array to Flex and let it
    loop through and load each image into an array. Or is it possible
    from within my CFC to use the file name array to get CF to grab the
    images and then pass that image array back to Flex? If so, is there
    any advantage to either approach? TIA,
    Mic.

    You don't want to pass the binaries to Flex, you should just
    give Flex the image names and load them via HTTP.

  • Images from 2nd local site won't display in Firefox

    I'm including images from one local website on another local
    website,
    and they display fine with Internet Explorer but not with
    Firefox. I can
    see the images' "outlines" in Firefox. In other words, a
    rectangle the
    same size as each image appears. When I right-click on it and
    choose
    "View Image," I get this message:
    "Firefox doesn't know how to open this address, because the
    protocol (c)
    isn't associated with any program."
    I don't have a clue what it's talking about. Here are the
    paths to the
    two images:
    <img
    src="C:/sites/Geobop/images/GS/flags/world/na/usa/150/az.gif"
    <img
    src="'.$BaseURL.'images/GS/flags/world/na/usa/150/az.gif"
    (The second path translates the same as the first.")
    I haven't disabled images; in fact, I can see other images on
    the page.
    Can anyone tell me what's going on here?
    Thanks.
    www.geobop.org - Family Websites
    www.invisible-republic.org - Adult political websites (Mature
    adults only)

    P.S. I tried beginning the image's path with file:///C: and
    file:///c:,
    but that doesn't work at all; it doesn't even display the
    image's shape.
    www.geobop.org - Family Websites
    www.invisible-republic.org - Adult political websites (Mature
    adults only)

  • I can't down load my images from my Nikon D4 to Apeture.

    I can't down load my images from my Nikon D4 to Apeture.

    Hi skhart1998,
    I also use Nikon D4, D2H and D2Xs
    I use Nikon Transfert 2, the latest version, to download my shots to my MacBook Pro hard disk in a picture folder. After this I use Aperture Import to place the New folder created in the Nikon folder in the Aperture Inspector folder... This way, I always have the copy of my originals files.
    .jpg or .nef  work fine.
    Denis

  • Loading realscale image from memorycard.

    Hi.
    I made a big image (3550 x 2100 pixels), which my Nokia 6125 didn't zoom enough on the normal Picture preview.
    So I decided to make a program for it, so I could see all the details from the pic, and move around on the image. (Like zoom, but I need to get closer.. )
    First problem i encountered, was that 4mb application was too big to install on my memorycard... Darn limits...
    So I decided to add them seperately, that I'd load the image from the application.
    Well when I ran the "File Browser", there was 3 things:
    - ".." (Folder up)
    - "E:\" (crashes, no access)
    - "C:\" (crashes, no access)
    So any ideas how could I get it work properly?
    Thanks!

    hmm ... ok .. that sounds good .. but that means that
    a servlet must exsist at all time to display the
    required image.Servlets are usually instantiated by the servlet container upon an incoming request.

  • Loading an image from CameraRoll - how long should it take ?

    Hi All
    I'm loading an image from the CameraRoll using this method http://www.flashandmath.com/mobile/cameraroll/
    Now on my iPad2 the image loads pretty instantaneously
    However on my iPhone4 it takes approx 8 seconds for the image to load.
    ( The time is taken after calling loader.loadFilePromise waiting for Event.COMPLETE ... i.e. the image to load )
    function onImgSelect(event:MediaEvent):void {
    var promise:MediaPromise = event.data as MediaPromise;
    removeBrowseListeners();
    loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
    loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, onError);
    loader.loadFilePromise(promise);
    The code base is the same. There are (at least) 2 differences :-
    1) The hardware (iPad vs phone)
    2) The number of images on the camera roll (approx 60 on iPad vs almost 900 on the phone)
    Has anyone else noticed such a difference in speed between devices / number of files ?
    Is there a better/quicker way to load an image from CameraRoll ?
    Is 8 seconds normal/acceptable (I show a busy indicator)
    Any help / suggestions/ observations most appreciated !

    If you opted for the Secure Erase and the account has a lot of data in it, then it could take days to complete.

  • My iPhone 4S won't load email messages from my local carrier. It works sometimes and then won't.  The local carrier says it is not them and to contact apple.  Been happening since got Kindle Fire. Could this be doing it?

    My iphone  4S  won't load email messages from my local carrier on a regular basis.  It says cannot get mail in use on another device.  I thought everything was to sync together?  Local carrier tells me it is Apple not them.  It's been happening since I got my Kindle Fire about a month ago.  Any ideas how to make everything work together?????  Does it when kindle is off to sometimes.  Thanks.

    Hi Maquillage,
    Thanks for using Apple Support Communities.  I would recommend troubleshooting the iPhone by following the instructions in this article:
    iOS: Not responding or does not turn on
    http://support.apple.com/kb/TS3281
    Resolution
    If a single application is not responding or stops responding when it opens, you can force it to close.
    If the device is unresponsive or if certain controls aren't working as expected, restart your device.
    If the device remains unresponsive or does not turn on (or power on), reset your device.
    If there is no video or if the screen remains black, verify that the device has enough charge to turn on:
    If you are using an iPad, ensure that it's connected to the USB Power Adapter supplied with the device.
    Let charge for at least twenty minutes, then see if it starts normally.
    If there is no image on the screen, press the Sleep/Wake button to attempt to wake the device.
    If the screen displays a red battery icon, continue charging the device until the battery is fully charged.
    If the above steps do not resolve the issue, or the if the screen remains black or shows a persistent Apple logo, try restoring with iTunes:
    Connect the device to your computer and open iTunes.
    If the device appears in iTunes, select and click Restore on the Summary pane. Learn more aboutrestoring iOS software.
    If the device doesn't appear in iTunes, try to force the device into recovery mode, and then restore it.
    If the above steps do not resolve the issue, contact Apple.
    Cheers,
    - Ari

  • Firefox won't load check images from my online bank.

    Firefox won't load check images from my online bank. It had been doing so with no problems, but stopped 2 days ago. I can get into my account and navigate with no problems. But when I click to see the image of a check, I get a blank page.
    I am using Firefox 3.6, but I have the same problem on my laptop with Firefox 4
    It works fine with Safari and Internet Explorer.

    If you can't open them in Firefox anymore (you seem to have a plugin: View PDF documents within your web browser) then download the documents to the desktop and open them with a program that can open PDF files.
    See also to be sure that that plugin is still selected:
    * https://support.mozilla.com/kb/Managing+file+types
    Do you otherwise have problems with PDF files?

  • Error While loading a image from database

    Purpose
    Error While loading the Image from the database
    ORA-06502: PL/SQL : numeric or value error:Character string buffer too small
    ORA-06512: at "Sys.HTP" ,line 1480
    Requirement:
    I am developing the web pages using PSP(Pl/sql Serverpages) . I have a requirement to show a image in the webpage. I got the following procedures from the oracle website.
    I have created the following table to store the images
    create table DEMO
    ID INTEGER not null,
    THEBLOB BLOB
    And I also uploaded the Images. Now I am try to get a image from the table using the following procedure .But I am getting the error message line 25( htp.prn( utl_raw.cast_to_varchar2( l_raw ) );) .at it throws the following error messages
    ORA-06502: PL/SQL : numeric or value error:Character string buffer too small
    ORA-06512: at "Sys.HTP" ,line 1480
    Procedure that I used to get the image
    create or replace package body image_get
    as
    procedure gif( p_id in demo.id%type )
    is
    l_lob blob;
    l_amt number default 30;
    l_off number default 1;
    l_raw raw(4096);
    begin
    select theBlob into l_lob
    from demo
    where id = p_id;
    -- make sure to change this for your type!
    owa_util.mime_header( 'image/gif' );
    begin
    loop
    dbms_lob.read( l_lob, l_amt, l_off, l_raw );
    -- it is vital to use htp.PRN to avoid
    -- spurious line feeds getting added to your
    -- document
    htp.prn( utl_raw.cast_to_varchar2( l_raw ) );
    l_off := l_off+l_amt;
    l_amt := 4096;
    end loop;
    exception
    when no_data_found then
    NULL;
    end;
    end;
    end;
    What I have to do to correct this problem. This demo procedure and table that I am downloaded from oracle. Some where I made a mistake. any help??
    Thanks,
    Nats

    Hi Satish,
    I have set the raw value as 3600 but still its gives the same error only. When I debug the procedure its throwing the error stack in
    SYS.htp.prn procedure of the following line of code
    if (rows_in < pack_after) then
    while ((len - loc) >= HTBUF_LEN)
    loop
    rows_in := rows_in + 1;
    htbuf(rows_in) := substr(cbuf, loc + 1, HTBUF_LEN);
    loc := loc + HTBUF_LEN;
    end loop;
    if (loc < len)
    then
    rows_in := rows_in + 1;
    htbuf(rows_in) := substr(cbuf, loc + 1);
    end if;
    return;
    end if;
    Its a system procedure. I don't no how to proceed .. I am really stucked on this....is their any other method to take picture from the database and displayed in the web page.....???? any idea..../suggesstion??
    Thanks for your help!!!.

  • Figuring out how to extract images from a PDF file

    Hi,
    I'm trying to write a small app that extracts all images from a PDF file. I already wrote a nice parser and it works good but the only problem is that I can't quite figure out from the reference how to decode all images in a PDF file to normal files such as tiffs, jpegs, bmps etc. For now I'm focusing on XObject images and not dealing with inline images.
    From what I understand so far just by trying and looking at open sources I figured that if I see a XObject Image with a DCTDecode filter, taking the stream data without doing anything to it and saving it as a jpeg file works. But doing the same to FlateDecoded streams or CCITTFax didn't work.
    What is the right way to properly extract the images?

    In general you have to
    * decode the stream
    * extract the pixel data
    * use ColorSpace, BitsPerComponent, Decode and Width to unpack pixel
    values
    * reconstruct an image file format according to its specification
    There are no other shortcuts. The DCTDecode shortcut (which doesn't
    work for CMYK JPEG files) is just a piece of fantastic good luck.
    Aandi Inston

  • JAVA, sqlserver - Need to load an image from the sql server database

    hi,
    I need to load an image from the sql server database using java. I have connected to the database and getting all other records except the records for a photo (datatype = LONGVARBINARY) and Remarks (datatype = LONGVARCHAR).
    I am using java and sql server db. The photo and remarks are stored in the db. and i need to show the image and the remarks fetching them from there.
    I get the error :
    Thread-9 org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
    How can I achieve this?
    Thanks,
    Gargi

    Exactly. And are you using MySQL?
    No. You are using Microsoft SQL server if I have to believe your initial post. A quick google tells me that the dialect class to use is:
    org.hibernate.dialect.SQLServerDialect

  • How can I best load RAW images from a Canon SX50?

    How can I best load RAW images from a Canon SX50?

    9Sorry, ........confused about this process.   When I attempted to Post the question I had entered, I was told a blank space could not be posted.  So, I reentered the Q in the "space"........ which apparently was the space for an answer....!! ??......)
    >  When I try to load RAW images taken by my Canon SX50 from the SD card, iPhoto 11 -  (iMac/OSX 10.6.8) tells me that it can't read the format or something like that.    OSX 10.6.8 came out before the SX50, thus, did not include the related program.           I want to shoot RAW on the SX50....... but I then want to load them into iPhoto....... which I do directly from pics I take with my Nikon D200.  
    Not sure if this will help.............

  • Loading an image from an arbitrary URL without using an ImageIcon

    Can anybody maybe point me in the direction of other (as in harder-to-use, but more flexible) ways to load an image from a URL?

    Interesting results:
    When I run this test code (the names have been changed to protect the innocent):
    package graphicstest;
    import javax.swing.*;
    import java.net.*;
    import javax.imageio.*;
    import java.awt.image.*;
    * <p>Title: </p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2007</p>
    * <p>Company: </p>
    * @author not attributable
    * @version 1.0
    public class Foo
        extends JFrame {
      static ImageIcon ii;
      public Foo() {
        setSize(200,200);
        try {
          System.out.println("2=aborted; 8=complete; 4=errored; 1=loading");
          ii = new ImageIcon(new URL("http://intranet/part?FOO.JPG"));
          System.out.println("image load status: " + ii.getImageLoadStatus());
          getContentPane().add(new JLabel(ii));
          System.out.println("image load status: " + ii.getImageLoadStatus());
        }catch(Throwable t) {t.printStackTrace();}
      public static void main(String args[]) {
          Foo foo = new Foo();
          foo.setVisible(true);
          if (ii.getImageLoadStatus() == 4) {
            try {
              BufferedImage bi = ImageIO.read(new URL(
                    "http://intranet/part?FOO.JPG"));
              ii.setImage(bi);
              foo.validate();
              foo.repaint();
            } catch(Throwable t) {t.printStackTrace();};
    }. . . from a box that's not on the VPN, it blows up at the ImageIO.read() call (not unexpectedly). But if I run it from a box that's on the VPN, and able to access the URL, then it returns just fine from the ImageIO.read(), and I get a null pointer exception at the call to setImage().
    Clearly, this is trying to tell me SOMETHING, but I don't quite know WHAT.
    JHHL

Maybe you are looking for