Can I adjust pixel width and height in iPhoto?

I'm trying to find out if it's possible to adjust pixel width and height of a photo without cropping it. iPhoto Help was no help at all.
Thanks.
iBook   Mac OS X (10.4.4)  

For uploading to a site this is the way to do it.
If you wanted to use in another application, you can drag and drop if it is supported, and then use that other application to resize. You can also set up a graphic application as an external editor.
I find it just as quick and easy to export to the desktop, then delete the photos on the desktop when I am done.

Similar Messages

  • Nested canvas in GridLayout can't get its width and height

    Hello,
    I have a class entitled DisplayCanvas, which will accept some parameters from an invocation in another class including a shape and message parameters. These parameters must be centered in the instance of DisplayCanvas.
    For some reason, when I use this.getWidth() and this.getHeight() within my DisplayCanvas class, I get 0 and 0! I need the width and height in order to center the parameters the user will enter.
    Why does the width and height result at 0? What can I do to get the width and height?
    In my DisplayCanvas class notice the lines:
    canWidth = this.getWidth();
    canHeight = this.getHeight();
    For some reason the result is 0 for each!
    Here is my code for the DisplayCanvas class:
    //import the necessary clases
    import java.awt.*;
    import java.applet.*;
    import javax.swing.*;
    //begin the DisplayCanvas
    public class DisplayCanvas extends Canvas
      //declare private data members to house the width and height of the canvas
      private int canWidth;
      private int canHeight;
      //declare private data members for the shape and message
      private String message;
      private String shape;
      private Color sColor;
      private int sWidth;
      private int sHeight;
      private String font;
      private Color ftColor;
      private int ftSize;
      //declare public data members
      //constructor of DisplayCanvas
      public DisplayCanvas()
         //set the width and height
         canWidth = this.getWidth();
         canHeight = this.getHeight();
         //set all data members to defaults
         message = "";
         shape = "";
         sColor = null;
         sWidth = 0;
         sHeight = 0;
         font = "";
         ftColor = null;
         ftSize = 0;
      } //end the constructor
      //begin the setParams function
      public void setParams(String m, String s, Color c, int w, int h,
                            String f, Color ftC, int ftS)
          //set all private data members of DisplayShape to the arguments
          //this function assumes error checking was done by DemoShape
          message = m;
          shape = s;
          sColor = c;
          sWidth = w;
          sHeight = h;
          font = f;
          ftColor = ftC;
          ftSize = ftS;
      } //end the setParams function
      //begin the public paint function of ShowShape
      public void paint(Graphics g)
          //set and output the shape according to the arguments
          //determine the x and y of the shape
          int x = (canWidth - sWidth) / 2;
          int y = (canHeight - sHeight) / 2;
          //set the color for the graphic object
          g.setColor(sColor);
          //output the shape
          g.drawRect(x, y, sWidth, sHeight);
          //set and output the message according to the arguments
          //set the color and the font for the graphic object
          g.setColor(ftColor);
          g.setFont(new Font(font, Font.PLAIN, ftSize));
          //determine the centering of the message
          //output the message with the settings
          g.drawString(canWidth + " " + canHeight, 10, 10);
      } //end the paint function of ShowShape class
    } //end the DisplayCanvas classHere is my form entry class using the nested DisplayCanvas instance entitled drawCanvas:
    //import the necessary java packages
    import java.awt.*;                  //for the awt widgets
    import javax.swing.*;               //for the swing widgets
    import java.awt.event.*;            //for the event handler interfaces
    //no import is needed for the DisplayCanvas class
    //if in the same directory as the DemoShape class
    public class DemoShape extends JApplet
        //declare private data members of the DemoShape class
        //declare the entry and display panel containers
        private Container entire;           //houses entryPanel and displayCanvas
        private JPanel entryPanel;          //accepts the user entries into widgets
        private DisplayCanvas drawCanvas;   //displays the response of entries
        //required control buttons for the entryPanel
        private JTextField xShapeText, yShapeText, messageText, fontSizeText;
        private ButtonGroup shapeRadio;
        private JRadioButton rect, oval, roundRect;
        private JComboBox shapeColorDrop, fontTypeDrop, fontColorDrop;
        //declare public data members of the DemoShape class
        //init method to initialize the applet objects
        public void init()
            //arrays of string to be used later in combo boxes
            //some are used more than once
            String fonts[] = {"Dialog", "Dialog Input", "Monospaced",
                                "Serif", "Sans Serif"};
            String shapes[] = {"Rectangle", "Round Rectangle", "Oval"};   
            String colors[] = {"Black", "Blue", "Cyan", "Dark Gray",
                                "Gray", "Green", "Light Gray", "Magenta", "Orange",
                                "Pink", "Red", "White", "Yellow"};
            //declare variables to assist with the layout
            //these are the left and right justified x coordinates
            int ljX = 10; int rjX = 150;
            //this is the y coordinates for the rows
            int yRow1 = 10;     //the shape rows
            int yRow2 = 40;
            int yRow3 = 60;
            int yRow4 = 130;
            int yRow5 = 150;
            int yRow6 = 210;    //the message rows
            int yRow7 = 240;
            int yRow8 = 260;
            int yRow9 = 300;
            int yRow10 = 320;
            int yRow11 = 360;
            int yRow12 = 380;
            //these are the widths for the text boxes, drop downs
            //message entry,  big message entry and radio buttons
            int tWidth = 30; int dWidth = 100;
            int mWidth = 250; int bmWidth = 250;
            int rWidth = 125;
            //the height is universal, even for the messages!
            int height = 25;
            //set a content pane for the entire applet
            //set the size of the entire window and show the entire applet
            entire = this.getContentPane();
            entire.setLayout(new GridLayout(1, 2));
            //create the entry panel and add it to the entire pane
            entryPanel = new JPanel();
            entryPanel.setLayout(null);
            entire.add(entryPanel);
            //create the display canvas and add it to the entire pane
            //this will display the output
            drawCanvas = new DisplayCanvas();
            entire.add(drawCanvas);       
            //entry panel code
            //add the form elements in the form of rows
            //the first row (label)
            JLabel entryLabel = new JLabel("Enter Shape Parameters:");
            entryPanel.add(entryLabel);
            entryLabel.setBounds(ljX, yRow1, bmWidth, height);
            //second row (labels)
            JLabel shapeTypeLabel = new JLabel("Select Shape:");
            shapeTypeLabel.setBounds(ljX, yRow2, mWidth, height);
            entryPanel.add(shapeTypeLabel);
            JLabel shapeColorLabel = new JLabel("Select Shape Color:");
            shapeColorLabel.setBounds(rjX, yRow2, mWidth, height);
            entryPanel.add(shapeColorLabel);
            //third row (entry)        
            rect = new JRadioButton("Rectangle", true);
            oval = new JRadioButton("Oval", false);
            roundRect = new JRadioButton("Round Rectangle", false);
            rect.setBounds(ljX, yRow3, rWidth, height);
            oval.setBounds(ljX, yRow3 + 20, rWidth, height);
            roundRect.setBounds(ljX, yRow3 + 40, rWidth, height);
            shapeRadio = new ButtonGroup();
            shapeRadio.add(rect);
            shapeRadio.add(oval);
            shapeRadio.add(roundRect);
            entryPanel.add(rect);
            entryPanel.add(oval);
            entryPanel.add(roundRect);       
            shapeColorDrop = new JComboBox(colors);
            shapeColorDrop.setBounds(rjX, yRow3, dWidth, height);
            shapeColorDrop.addFocusListener(new focusListen());
            entryPanel.add(shapeColorDrop);
            //the fourth row (labels)
            JLabel xShapeLabel = new JLabel("Enter Width:");
            xShapeLabel.setBounds(ljX, yRow4, mWidth, height);
            entryPanel.add(xShapeLabel);
            JLabel yShapeLabel = new JLabel("Enter Height:");
            yShapeLabel.setBounds(rjX, yRow4, mWidth, height);
            entryPanel.add(yShapeLabel);
            //the fifth row (entry)
            xShapeText = new JTextField("200", 3);
            xShapeText.setBounds(ljX, yRow5, tWidth, height);
            xShapeText.addFocusListener(new focusListen());
            entryPanel.add(xShapeText);        
            yShapeText = new JTextField("200", 3);
            yShapeText.setBounds(rjX, yRow5, tWidth, height);
            yShapeText.addFocusListener(new focusListen());
            entryPanel.add(yShapeText);
            //the sixth row (label)
            JLabel messageLabel = new JLabel("Enter Message Parameters:");
            messageLabel.setBounds(ljX, yRow6, bmWidth, height);
            entryPanel.add(messageLabel);
            //the seventh row (labels)   
            JLabel messageEntryLabel= new JLabel("Enter Message:");
            messageEntryLabel.setBounds(ljX, yRow7, mWidth, height);
            entryPanel.add(messageEntryLabel);
            //the eighth row (entry)
            messageText = new JTextField("Enter your message here.");
            messageText.setBounds(ljX, yRow8, mWidth, height);
            messageText.addFocusListener(new focusListen());
            entryPanel.add(messageText);
            //the ninth row (label)
            JLabel fontTypeLabel = new JLabel("Select Font:");
            fontTypeLabel.setBounds(ljX, yRow9, mWidth, height);
            entryPanel.add(fontTypeLabel);
            JLabel fontColorLabel = new JLabel("Select Font Color:");
            fontColorLabel.setBounds(rjX, yRow9, mWidth, height);
            entryPanel.add(fontColorLabel);
            //the tenth row (entry)
            fontTypeDrop = new JComboBox(fonts);
            fontTypeDrop.setBounds(ljX, yRow10, dWidth, height);
            fontTypeDrop.addFocusListener(new focusListen());
            entryPanel.add(fontTypeDrop);       
            fontColorDrop = new JComboBox(colors);
            fontColorDrop.setBounds(rjX, yRow10, dWidth, height);
            fontColorDrop.addFocusListener(new focusListen());
            entryPanel.add(fontColorDrop);
            //the eleventh row (label)
            JLabel fontSizeLabel = new JLabel("Select Font Size:");
            fontSizeLabel.setBounds(ljX, yRow11, mWidth, height);
            entryPanel.add(fontSizeLabel);
            //the final row (entry)
            fontSizeText = new JTextField("12", 2);
            fontSizeText.setBounds(ljX, yRow12, tWidth, height);
            fontSizeText.addFocusListener(new focusListen());
            entryPanel.add(fontSizeText);
            //display panel code
            //use test parameters
            //these will later be retrieved from the entries
            drawCanvas.setParams("Hello", "roundRect", Color.red,
                                100, 100, "Serif", Color.black, 12);
            //set the applet to visible
            //set to visible and display
            entire.setSize(800, 600);
            entire.setVisible(true);
        }   //end the init method
        //declare an inner class to handle events
        private class focusListen implements FocusListener
            //supply the implementation of the actionPerformed method
            //pass an event variable as the argument
            public void focusLost(FocusEvent e)
            { JOptionPane.showMessageDialog(null, "Focus lost."); } 
            //declare an empty focus gained function
            public void focusGained(FocusEvent e) {}      
        }   //end testListen class
    }   //end DemoShape class

    Sorry for glossing over your code sample, particularly as it looks like one of the best I've seen so far on the forums, but I'm pretty sure the answer you are looking for is as follows:
    Java doesn't render a component until paint() is called so until then you are not going to have any size settings because the jvm simply doesn't know how big the visual component is. This makes sense when you think about what the jvm is doing. The layout manager controls the display of the components depending on the settings it is supplied. So until it knows how many components you want, where, what kind of spacing, etc, etc, etc, how can the size be determined.
    The true cycle of events is therefore:
    create an instance of DisplayCanvas,
    add it to your container,
    make the container visible (which renders the component),
    get the size of the DisplayCanvas instance.
    You are being hampered because your desired chain of events is:
    create an instance of DisplayCanvas,
    get the size of the DisplayCanvas instance,
    add it to your container,
    make the container visible.
    This state of affairs is highly annoying and then leads to the next question "what do we do about that?". There is a cunning trick which is to get the jvm to render the component to an off-screen image, thus calculating the dimensions of the component so that you can do precisely the kind of enquiry on the object that you have been looking for. It should be noted that this may not be the visual size for all the reasons given above, but it is the "preferred size" for the component. Check the Swing tutorials and have a look at the section on Layout Managers for a run down on what that means.
    Anyway, we can use this handy code sample to determine the preferred size for your component. Notice the call to "paint()" (normally you would never make a direct call to paint() in swing) and the "g.dispose()" to free resources:
    package com.coda.swing.desktool.gui;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    public class PaintUtil
         public PaintUtil()
              super();
         public static Component paintBuffer(Component comp)
              Dimension size = comp.getPreferredSize();
              comp.setSize(size);
              BufferedImage img = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_ARGB);
              Graphics2D g2 = img.createGraphics();
              comp.paint(g2);
              g2.dispose();
              return comp;
    }Before you make a call to getWidth() or getHeight() put in a call to "PaintUtil.paintBuffer(this);" and see what happens.
    By the way, I can't claim credit for this code ... and I really wish I could remember where I got it from myself so I can thank them :)

  • Width and height of ROI

    How can I change the Width and Height of ROI ? Im attaching the VI it does the edge detection.. please help
    Thankyou
    Attachments:
    edge.vi ‏95 KB
    ROI.png ‏207 KB

    The line camera takes pictures of a single line over and over again as the object moves underneath it.  You can build up an image of the object by stacking the lines in a larger image.  If the line of the camera goes straight across the material being measured, you can measure the width with every line.
    Yes, you can use a 100 meter cable with a GigE camera.
    Red lighting is just the most convenient.  Red is the easiest color to generate, and can easily be filtered to eliminate other light frequencies.  Using colored lighting helps increase the contrast between the lighted areas and the background.
    Your image indicates a max speed of 180 m/min, which would be 3 m/sec.  If the camera acquires each line at 24 kHz, that is 24000 lines/sec.  Divide the two to get 8000 lines/m, or 8 lines/mm.  If your computer can keep up, you could make a measurement every 0.125 mm of your material.  That probably isn't practical, but you should be able to make the measurements at the rate you need.
    Almost forgot, the width is 1900 mm.  With 4096 pixels wide, you get just over two pixels per mm.  That means your measurements should be accurate to the nearest mm.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • Help to edit width and height of menu?

    http://www.ivoog.com/link4
    How can I edit the width and height of this menu so the
    background image fits? Please explain and give code if you can.
    Thanks!
    Here's the pictures for the menu:
    http://www.pics.ivoog.com/boxs1.gif
    http://www.pics.ivoog.com/boxs2.gif

    Your approach simply isn't going to work.
    The background image is a fixed width. It will not shrink or
    grow like the
    text in front of it.
    The background image is wider than the word "pie" but not as
    wide as the
    word "sigh".
    So, if you add padding to the left and right of the link to
    make the whole
    background show behind "pie", the same padding is added to
    "sigh". Now the
    "sigh" link is much wider than the background image. Because
    your
    background image repeats, you see the left edge of the next
    repeating one
    behind sigh.
    If you remove the padding to make it so you see just one
    image behind
    "sigh", now the padding around "pie" is too narrow to see the
    whole
    background.
    You could try giving each link a class and having a separate
    padding for
    each word, but all that is pretty useless because different
    people have
    different text size settings in their browsers.
    In some browsers, the words will be bigger than the
    background image.
    In others, the words will be small and you'll only see part
    of the
    background.
    The free tutorial I sent you is just that, a tutorial.
    You do the work, you have the copyright.
    If you are not interested in that one, here's another idea.
    You can use borders and simple background , like a gradient,
    to make a tab
    that looks just like your tab images and sizes along with
    your text...no
    matter how long the word is and no matter what size the text
    is.
    Here's the free tutorial.
    You don't even have to do the whole thing, just the first
    part where it
    shows you how to make links that look like image buttons.
    http://projectseven.com/tutorials/css/uberlinks/index.htm
    Good luck,
    Tim
    "hahahaadobeman" <[email protected]> wrote
    in message
    news:[email protected]...
    > Thanks for answering and sorry for the confusion. The
    only problem with
    > purchasing and doing this is copyright. I want to make
    my own code for the
    > menus so it is not copyrighted by anyone.
    >
    > Can you help edit the width and height of this menu so
    the background
    > image
    > fits? See how my link4 where it says pie sigh and all
    that the background
    > of
    > that doesn't fit with the image? Can you help with this
    problem? Thats all
    > I
    > really needed but thanks for all the links!
    >

  • Changing af:messages width and height

    Hi gang
    Does anybody have a suggestion how I can expand the default width and height of the af:messages popup under JDev 11.1.1.2.0? From what I can see there are no styles defined in the skin, no properties on the component, and the inline style width/height properties are ignored.
    Your help appreciated.
    Regards,
    CM.

    I have to agree with 9 of the 14 respondents Keyshia Cole's new nose is indeed natural looking :-)
    The problem we're getting is two fold:
    a) Occasionally our error messages have long words, the messages tag isn't hard wrapping, and this is resulting in a horizontal scroll bar.
    b) Sometimes the number of messages displayed is greater than the vertical space, so we get a vertical scroll bar.
    c) Sometimes both, which looks cr@p.
    The combination can make the app less user friendly as the user has trouble assessing/reading the error messages.
    While we can do some minor tweaking to minimize word length and number of error messages, the preferred method would be just to increase the size of the dialog.
    CM.

  • How can I get the image width and height stored in database?

    Hi!I write s servlet to display images store in database.but how can I get the image width and height?

    Have you tryed using PJA or a similar library?
    I presume you get java.lang.NoClassDefFoundError on the line :
    Toolkit.getDefaultToolkit();?

  • SWFLoader.content: stage width and height, can i override to return proper results  ?

    Hiya.
    I'm loading with SWFLoader games that where written using stage functions to get the width and height of the stage and to draw the game and calculate game movements accordinly. When I load a game using SWFLoader, the stage size changes from the stage size of the flash application that i loaded with SWFLoader to the stage size of my entire flex application with breaks the loaded flash application.
    is there a way to override the stage related functions in the loaded flash application in order for them to return the proper value ?
    if my flash application is width=50px height=50px and it's located at my flex stage at x=20px width=20px,
    then the width and height of the stage of the flash application will return 70px.
    is there a way to resolve that ?

    If an app has dependencies on stage size, it will not behave well as a
    sub-app.

  • How to create a map that is larger than the game in width and height?

    hi,
    i wounder how i can create a map(not the design) that is larger than the game in width and height, part of it will appear in the main page and anther part you can move to it after you press the arrow symbol, but the map is just one image so i want put it in line and out line the game page, and the out line part includes buttons and symbols the player can use, but it will be in line and the other part will be out line when you press the left arrow or the down arrow, how i can do that?
    and is that possible to animate it so when the player press the arrow, will give it action to start the animation in one sec, i know how to animate it if that possible but i don't know which code i will use for the mouse click with the arrow symbol, and how to use the same code in the same symbol to start anther animation depending on which part of the map is on?

    I don't know a lot about mask and masked layers and how to work with the normal layers beside i will use some 3D graphics but not in the background, i will explain all this to you to be more clearly.
    first i am using action script 3.0
    close ex,
    you have 2d map"image"  900*300 pixel.
    this image contains some 2d symbols when you click will go to anther normal map (anther normal layer) so they must appear.
    your game 320*320 px, and the place the map will show on 300*300, and there's basics objects will be in most pages including the page that show the map so i don't know a lot about how this will work with mask layers.
    so you can only see the left side of the map image and what it contains, while there's two arrows one to the left and one to the right there's three cases here,
    first when it show the left side(start from x:0 to x:300), the left arrow will not active when you press and the right arrow will start an animation that make the map image move to the mid side in one sec when you press.
    in mid side (start from x:301 to x:600) the same left arrow will active when you press to send you back to the left side while the same right arrow will be active to send you not to the mid side but to the right side,
    when moved to the right side the same left arrow will be active to send you to the mid and the right will not active when you press and depending on that,
    first how to make the large image appear with the three sides in the same place without effecting the other objects "like disappearing them" ?
    and the codes i need in the same left or right arrow symbol to make different actions with the same symbol when clicked depending on which part of the map is on.

  • Find new width and height of a rotated item

    hi all,
    I have an issue where I have a rectangle that I rotate and I need to know the new width and height of the bounding box of the rectangle when it has been rotated
    example:
    I have this rectangle shape
    so its known width and height is 20pixels x 60pixels
    now i rotate the rectangle by 90 degrees
    so it looks like this
    now its 60pixels x 20 pixels
    but all i know is the width height is 20 x 60
    how do I calculate the new width and height after rotation?
    obviously a rotation of 45 degrees would mean the bounding box will not be 20 x 60 or 60 x 20 so I need to take that into consideration
    thanks

    If your shapes are not restricted to being rectangels, then the bounding box after rotation can't be calculate from simply the bounding box before rotation alone.
    Simples counter-example:
    The bounding box of those two shapes are equivalent:
    {noformat}
    and
    {noformat}But after a 45 degree rotation, their bounding boxes are different.
    For the exact way to calculate the bounding box for arbitrary shapes, you'll need to consult some geometry books (or wait and hope for a useful hint here, I can't give one).

  • Image width and height

    I cannot get DW8 to insert the width and height automatically
    whern inserting an imge. Can anyone help me with it. TIA

    I have just discovered that if you do the insertion when Code
    view and
    Design view are 'in synch', i.e., neither the Property
    inspector nor the CSS
    panel have a "Refresh" button, the width and height will be
    inserted in Code
    view.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "intedeco" <[email protected]> wrote in
    message
    news:ebdb54$5uq$[email protected]..
    > Thanks ACE for the info. I am using the technique you
    mentioned.
    > However, I
    > did not have this problem in DWMX. Also, according to
    Macromedia 'HELP'
    > it is
    > inderted automatically. Thios is what is says:
    >
    >
    W and H are the width and height of the image, in pixels.
    Dreamweaver
    > automatically updates these text boxes with the image?s
    original
    > dimensions
    > when you insert an image in a page.
    >
    > Hopefully, next update will fix this!
    >

  • How to get width and height of a jpg file ?

    Hello,
    I'm trying to insert a jpg file in a blob field on my database. The problem is that I need to get the file width and height in pixels. My class does not have a graphic interface, it's a batch. Does anybody has an idea of how can I do that ?
    tia.

    Write a jpeg decoder that can figure out how to determine the width/height of a jpeg file? Google it.
    Or if you're really lazy, load each jpeg using the
    Toolkit.loadImage( URL ) function and use getWidth/getHeight from there, but that's slow.

  • Camera Image Display - changing width and height.

    Ok, so I wrote this simple program, but for some reason i cant control the offsets, width and height (attributes related to the image display on front panel). When i go to MAX, i am able to change these attributes, why cant i do it in labview? Any ideas?

    You need to put the width and height controls inside your loop to adjust while running. 
    From the image you provided, the width and height are set once outside the loop, and then you sit in the loop, so they can't be adjusted again.

  • Constraining mouse motion to specific distance (width and height)

    Hi,
    I want to constrain the mouse motion over a canvas by allowing it to move through specified distance (width and height).
    How can i do this?
    What does the translatePoint() in MouseEvent do? How do i use it?
    Can someone help me with this?
    Thanks
    Niteen

    The correct way with Pixel Bender 1.0 is indeed to pass in the width and height as parameters. There are no ramifications.

  • Losing width and height information of Image???

    Hi,
    I am losing the width and height information between converting an image to byte[] and then back to Image
    public void testImageToBufferAndBack(Image takenImage){
    BufferedImage bufimage = this.ImageToBufferedImage(takenImage);
    System.out.println("buffimage"+bufimage.getWidth()+" "+bufimage.getHeight(null)); //works fine
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    try {
    ImageIO.write(bufimage, "jpeg", stream);
    catch (IOException ex) {
    byte[] bytes = stream.toByteArray();
    byte[] pictureBytes = bytes;
    Image testImage = Toolkit.getDefaultToolkit().createImage(pictureBytes);;
    System.out.println("tttttttteeeeeeeessssssttt "+testImage.getWidth(null)+" "+testImage.getHeight(null));
    Output:
    buffimage320 240
    tttttttteeeeeeeessssssttt -1 -1
    Could someone point me out my mistake please??

    Your mistake is not realizing that java.awt.Image loads images asynchronously. When Toolkit's
    createImage method returns an Image, that image contains no pixel data -- as you've seen above, it doesn't
    even know the size of the image! I knew this was the behaviour of the createImage method that took a URL,
    but was surprised here that this is also the case with the version that takes a byte[], but undoubtably, that is
    what is happening here. The way to fix this is always the same: use a MediaTracker, as my demo below
    illustrates.
    A couple points:
    1. If you render your image in a custom component like this it will eventually appear:
    g.drawImage(image, x, y, this); //for exampleThat's because Component's default behaviour as an ImageObserver (the reason for the final this)
    is to continually repaint as more pixel data becomes available. This is not always the best solution -- what
    if you need to know the image's dimension sooner rather than later?
    2. ImageIcon can load an image for you, by using a MediaTracker behind the scenes:
    Image image = ...
    new ImageIcon(image);
    //now image is loaded...Just be aware that if you use its constructors that don't take Image, but for example URLs
    URL url = ...
    Image image = new ImageIcon(url).getImage();Behind the scenes it's first getting the Image with Toolkit's getImage (not createImage). Toolkit's
    getImage caches the image, which may not be what you want if you are processing many images --
    why have the image loiter in memory if there is no advantage to that?
    import java.awt.*;
    import java.awt.image.*;
    import java.io.*;
    import java.net.*;
    import javax.imageio.*;
    public class Example {
        public static void main(String[] args) throws IOException {
            String url = "http://today.java.net/jag/bio/JagHeadshot-small.jpg";
            BufferedImage original = ImageIO.read(new URL(url));
            displayDimensions("original buffered image", original);
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            ImageIO.write(original, "jpeg", out);
            byte[] bytes = out.toByteArray();
            Image image = Toolkit.getDefaultToolkit().createImage(bytes);
            displayDimensions("created image", image);
            loadImage(image, new Label()); //any component will do
            displayDimensions("loaded image", image);
            System.exit(0);
        //handy dandy utility method
        public static void loadImage(Image image, Component comp) throws IOException {
            MediaTracker mt = new MediaTracker(comp);
            mt.addImage(image, 0);
            try {
                mt.waitForID(0);
            } catch (InterruptedException e) {
                throw new RuntimeException("Unexpected", e);
            if (mt.isErrorID(0))
                throw new IOException("Error during image loading");
        static void displayDimensions(String msg, Image image) {
            System.out.println(msg + ", w=" + image.getWidth(null) + ", h=" + image.getHeight(null));
    }Output:
    original buffered image, w=235, h=240
    created image, w=-1, h=-1
    loaded image, w=235, h=240

  • Possible to resize pic according to own width and height ratio?

    Hi there
    Usually when resizing (or exporting) a picture, iPhoto automatically chooses an appropriate combination of width and height for us. For example, if I wanted to reduce the width to 320 pixels, iPhoto automatically updates the height to 240, making the resized pic to be 320x240.
    However, I need to resize a picture to become 300x300. How can I do that? When I type in 300 for width, iPhoto keeps automatically putting the height as 225, making the picture 300x225, but I need 300x300. Is there a way to manually choose how I want to resize the pic?
    Thanks in advance.

    teriyip:
    What you need to do before exporting is to crop to the size ratio, in this case square. Then you can put in 300 in one dimension field and the other will come in at 300 also. There's a square option in the Constrain menu.
    Do you Twango?
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.

Maybe you are looking for