URGENT: Heap space problems with image resizing

I'm creating a Swing program, with an InternalFrame-type interface. One of the frames contains a .gif file background and then primitive G2D objects are drawn on top of it.
The background image loads and displays fine at its original size, but I've added code for when the window resizes, and resizing the image causes the VM to give me an OutOfMemory exception.

I tried this without any problem (with a gif of 137 kb):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ImageFrame extends JFrame {
    public ImageFrame() {
        initComponents();
        Toolkit T=this.getToolkit();
        im0=T.getImage("C:\\sophie.gif");
        MediaTracker mediaTracker = new MediaTracker(this);
        mediaTracker.addImage(im0, 1);
        try {
            mediaTracker.waitForID(1);
        } catch (InterruptedException ie) {
            System.err.println(ie);
        jInternalFrame1.add(new MyPanel());
    private void initComponents() {
        jDesktopPane1 = new JDesktopPane();
        jInternalFrame1 = new JInternalFrame();
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jInternalFrame1.setResizable(true);
        jInternalFrame1.setVisible(true);
        jInternalFrame1.addComponentListener(new ComponentAdapter() {
            public void componentResized(ComponentEvent evt) {
                jInternalFrame1ComponentResized(evt);
        jInternalFrame1.setBounds(0, 0, width, height);
        jDesktopPane1.add(jInternalFrame1, JLayeredPane.DEFAULT_LAYER);
        getContentPane().add(jDesktopPane1, BorderLayout.CENTER);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-800)/2, (screenSize.height-500)/2, 800, 500);
    private void jInternalFrame1ComponentResized(ComponentEvent evt) {
        width=jInternalFrame1.getWidth();
        height=jInternalFrame1.getHeight();
    public static void main(String args[]) {
        new ImageFrame().setVisible(true);
    private int width=500,height=300;
    private Image im0;
    private JDesktopPane jDesktopPane1;
    private JInternalFrame jInternalFrame1;
    class MyPanel extends JPanel {
        public void paint(Graphics g1) {
            g1.drawImage(im0,0,0,width,height,this);
            g1.dispose();
}

Similar Messages

  • Having problems with image resizing?

    Since my upgrade to LR 3.2, I have detected a problem when resizing images at export.  When I select "long edge" at 1500 pixels, I'm getting vertical images at 1500 H x 1000 W (which is correct), but horizontals are exporting at 1500 H x 2250 W, so it's reading the "long edge" selection as "height". Same problem when selecting "short edge" also exporting as image height. 

    Works fine for me with 3.2 under both OS/X and win7.

  • Problem with image resizing. Lightroom 5.7.

    Hi, i've got Lightroom 5.7 and have the following problem. When i export photos in the jpg format with custom image sizing 4600 x 3000, it produces 4500 x 3000. How can I fix it? Thank you.

    hi, dj_paige!
    i tried and it worked. but then i created a new collection with different photos and also wanted to crop them 23x15. but when i chosed from the list of custom crops, first it was no available, so then i created again the same custom crop 23x15 and lightroom didn't create it, instead it chooses 6.5x10. it looks like that lightroom switches to the previous custom crop instead of using a new one. how can i fix it?
    thank you,
    anna

  • Problem with image resize after canvas resize in CS6

    In previous versions I have been able to resize the canvas and then resize the image.  For example resize the canvas to 250px x 250 px.  Then resize the image to the same.
    Here is the process I am using:
    Duplicate the layer and then hide it. 
    Resize the canvas (Image > Canvas Size) to 250px x 250 px. 
    Un-hide the layer and then resize the image (Image > Image Size).  When I go into Image>Image Size it says that the image is already 250px x 250px.  However if I try to transform the scale the image is the original size and not 250px x 250px
    The reason for needing this is I resize image size (in bulk) and the canvas size using the batch process (file>automate>batch) and actions.   I loaded the actions file I used in previous versions, but that did not work correctly.  I then went in to do this manually and got the same results.
    Any ideas??

    Please post the Action set *.atn file and name of the action in the set. 
    What you wrote seems like normal operation.
    Duplicate the layer and then hide it. 
    Resize the canvas (Image > Canvas Size) to 250px x 250 px. 
    Un-hide the layer and then resize the image (Image > Image Size).  When I go into Image>Image Size it says that the image is already 250px x 250px.  However if I try to transform the scale the image is the original size and not 250px x 250px
    There is no reason to hide and unhide the layer.
    When you change Canvas Size the only layer the may actually get changed is the "Background Layer" for the bankground layer does not suppoty tranparency so Pixels of some color will be added to the background layer if your increasing canvas size or Pixels will be cropped off the background layer if you decreasing canvas size.  Canvas Size = Document Size = Image size.  Canvas size change does not change the size of other layer.  Only their position over the canvas may change.  Layers other then the background layer can be any size. They can be the same size as the canvas size or they may be larger or smaler then the canvas size and they can have any aspect ratio and any shape.  As you saw when you ise free transform on your layer.

  • [CS3][JS] Help with image resizing

    I'm still a newbie of ID scripting.
    I'm using js scripting in Indesign CS3 to make an auto-impaginator and I have a problem with images.
    I charged my contents from an xml set of tables, that I put into a fixed textFrame of the master page.
    Because of the table needs to fill multiple pages, I made a function that keep creating pages and link the textFrames so that the table continues in various pages.
    In this whole process I have some images too, that I need to resize them to fill the cell, because now they pass the parent cell.
    I found a method that looks at the bounds and resizes the image and the rectangle too, but it doesn't work always, because if a image is overflowing, it hasn't any bound and it fails, and this causes other problems in my process, so I would find another method.
    So:
    Is there another way to resize an image on-the-way while importing it? Some xml attribute or preference?
    Or some method that works also if the image is overflowing?

    These forums are pointless. Adobe must believe that other users will cut the mustard. Absolutely a waste of effort for everyone. Adobe should PAY at least a junior developer involved in the projects to monitor and help with these posts. FLEX rules yeah and thousands more do scripting than develop plug ins...
    Come on Adobe, step up your better than this. Customer Service can be free to the customers ... we are not talking about GET IT ALL FREE, talking about buy it and create a community and support it, but then again LAYERS and INDESIGN SECRETS have people who actually want to help users rather than rabbit hole everything.
    Please join hands and SING...

  • Problem with Image file

    Hi,
    Iam facing with one problem.I have one swing interface through which I can upload files(back end servlet programme).Now I can upload all types of file but problem with image file it uploading perfectly that means size of the uploaded file is ok but its format damaged.It can not be open.My backend servlet programme is ok coz i tested it with html form it is working perfectly.Problem with swing interface.Plz guide me where I done a mistake.Below r my codes:-
    ImageIcon Upload=new ImageIcon("images/Upload.gif");
         Button=new JButton(Upload);
         Button.setToolTipText("Upload");
    Button.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
              int returnVal = fc.showOpenDialog(ActionDemo4.this);
              if (returnVal == JFileChooser.APPROVE_OPTION) {
              File file = fc.getSelectedFile();
    String aa=file.getAbsolutePath();
              textArea3.append(aa);
                   textArea2.append("Local URL:");
    long l=file.length();
              try
              byte buff[]=new byte[(int)file.length()];
              InputStream fileIn=new FileInputStream(aa);
              int i=fileIn.read(buff);
              String conffile=new String(buff);
              String str1=textArea10.getText();
    url = new URL ("http://127.0.0.1:7001/servletUpload?x="+str1);
         urlConn = url.openConnection();
         urlConn.setDoInput (true);
         urlConn.setDoOutput (true);
         urlConn.setUseCaches (false);
         urlConn.setRequestProperty("Content-Type","multipart/form-data;boundry=-----------------------------7d11e410e500f2");
         printout = new DataOutputStream (urlConn.getOutputStream ());
    String content ="-----------------------------7d11e410e500f2\r\n"+"Content-Disposition: form-data;"+"name=\"upload\"; filename=\""+aa+"\"\r\n"+"Content-Type: application/octet-strem\r\n\r\n\r\n"+conffile+"-----------------------------7d11e410e500f2--\r\n";
    printout.writeBytes(content);
    printout.flush ();
    printout.close ();
    Best Regards
    Bikash

    The errors are here:
              byte buff[]=new byte[(int)file.length()];
              InputStream fileIn=new FileInputStream(aa);
              int i=fileIn.read(buff);
              String conffile=new String(buff); (conffile is a String object containing the image)
    and here:
    String content ="-----------------------------7d11e410e500f2\r\n"+"Con
    ent-Disposition: form-data;"+"name=\"upload\";
    filename=\""+aa+"\"\r\n"+"Content-Type:
    application/octet-strem\r\n\r\n\r\n"+conffile+"--------
    --------------------7d11e410e500f2--\r\n";
    printout.writeBytes(content);conffie is sent to the server but
    it's non possible to treat binary data as String!
    Image files must be sent as byte[] NOT as String ......

  • Problem with images opened in Photoshop CS 5

    Hi, I have a problem with images that I open in Photoshop CS 5. F. ex. I opened
    the following image:
    The image appears with a purple color in Photoshop. If I hover over the image
    with a tool like lasso, it temporarily regains it´s original color. The image mode is RGB Color, 8 Bits/Channel.
    I resetted the start settings of Photoshop with the CTRL-Shift-Alt-combination, which had no effect.

    The confusion arises from the imprecise error message in the Preferences > Performance dialog box, to wit:
    OK, that seems to be open to misunderstanding indeed.
    The video card: Citrix Systems Inc. Display Driver.
    Could not find a list for CS6 specifically, but the card may fall short.
    http://helpx.adobe.com/photoshop/kb/tested-video-cards-photoshop-cs5.html
    If I invoke View > Proof Colors, the only thing that changes is that the text in the brackets
    Also if you set View > Proof Setup to something different?
    Boilerplate-text:
    Are Photoshop and OS fully updated and have you performed the usual trouble-shooting routines (trashing prefs by keeping command-alt-shift/ctrl-alt-shift pressed while starting Photoshop, 3rd party plug-ins deactivation, system maintenance, cleaning caches, font validation, etc.)?

  • Problem with image url

    Hello,
    today I have a problem with image url. I wanted Image to change when mouse dragged over it. But nothing happened. Any ideas?
    def maxIco: ImageView = ImageView{
    image: Image{
    url: "{__DIR__}ikony/max.png"
    onMouseDragged: function(event: MouseEvent){
    maxIco.image = Image{
    url: "{__DIR__}ikony/max2.png"
    }

    This is working for me:
    src/main/Main.fx
    src/main/icon/image1.bmp
    src/main/icon/image2.bmp
    //Main.fx
    package main;
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    import javafx.scene.input.MouseEvent;
    var changed = false;
    def imgView: ImageView = ImageView {
        image: Image {
            url: "{__DIR__}icon/image1.bmp"
        onMouseDragged: function (e: MouseEvent): Void {
            if (not changed) {
                imgView.image = Image {
                    url: "{__DIR__}icon/image2.bmp"
                changed = true;
                println(imgView.image.url);
        onMouseReleased: function (e: MouseEvent): Void {
            imgView.image = Image {
                url: "{__DIR__}icon/image1.bmp"
            changed = false;
            println(imgView.image.url);
    Stage {
        title: "ImageTest"
        scene: Scene {
            width: 700
            height: 600
            content: [
                imgView
    }I've changed few things to switch image only one time on mouseDragged event.
    It print the image URL.

  • Problem with Image.createImage()

    Hi all!
    I'm writing a simple midlet just to display an image on the screen and I'm having some problems with Image.createImage()
    Here is my code
    Image bg_img;
    ImageItem imageItem1;
    imageItem1 = new ImageItem("", null,ImageItem.LAYOUT_DEFAULT, "");
    try{
    bg_img = Image.createImage("/image.png");
    imageItem1.setImage(bg_img);
    catch(java.io.IOException e){
    e.printStackTrace();
    I'm getting an exception on bg_img = Image.createImage("/image.png");
    I can't understand what is it...:(
    I know for sure that the problem is not "file not found"
    Any one can help me???

    If you are catching IOException, then u may have problem with ur image path. "image not found on the specified path." if ur image is not in the current directiry then put it into current directory. otherwise, If u are using resouce folder and it is already included into the resouce path, then put ur image in that folder..try this..
    Still not get, then please give some detail about ur development toolkit. and ur apllication packaging scheem. are you using ANT?
    Pranav

  • Problem with image gallery

    Hi to all.
    With ios 5.01 I have a little problem with image gallery. As you can see I have only 1 image, but there is always this **** message "download 0 of 46) (sorry, but I'm Italian )
    I've removed my icloud account from settings, but there is nothing to do, this message don't goes away. What I can do? Thanks in advance

    Hello,
    Just adding a gallery I want to do the same slideshow WoodWing's, but in InDesign, if anyone knows of?
    Thank you
    Link video slideshow WoodWing's: http://www.youtube.com/watch?v=Xt6gNaEZ0-M&feature=relmfu
    The first slideshow shown

  • Problems with image scaling

    I'm facing a real problem with image scaling
    I've used several algorithms but it all has defects but the most common thing is the out of memory error after several enlargments...
    does any one know a solution...
    note:
    I've used several packages to do so,but I'm looking for a solution from the jdk itself
    JAlexscorpio

    Did you take into account that the getScaledInstance() -method creates a completly new Image?
    So if you use it like in
    ImageIcon icon1=new ImageIcon("Blah.gif");
    ImageIcon icon2=new ImageIcon(icon1.getImage().getScaledInstance(400,400,SCALE_FAST);
    you will end up with 2 different Images which have their own data and memory requirements.
    even if you use something like
    ImageIcon icon1=new ImageIcon("Blah.gif");
    Image i=icon1.getImage();
    icon1.setImage(i.getScaledInstance(200,200,SCALE_FAST));
    You will need enough memory to store the data for the original image, as well as the data for the scaled
    version of the image, at least for the time that it take the JRE to create the scaled version. You never know when the garbage collector kicks in to delete you old data so it could be that this takes some time and until
    that moment your memory is not available. If your now doing several of the scaling operations, and there is no chance for the garbage collector to do its work, you will run out of memory.
    I hope that might help, if not feel free to post again

  • Problems with Image Variants

    I got two problems with Image Variants:
    1. catalogCache.GetImagePath("Images", id) doesn’t work for some id. The error message is “GetImageVariant error”.
    2. catalogCache.Preload("Images", “Original”)
        catalogCache.Preload("Images", “Thumbnails”)
        catalogCache.Preload("Images", null)
       catalogCache.Preload("Images", "")
    get failed, the status code is -2147483647
    Anyone know how to setup  image variants?
    Thanks.
    Forrest

    status code: -2147483647 is RC_BADPARAM.

  • Copy and Paste Problems with Images

    I'm having the strangest problems with images. I copy an image off of the web for one of my art history classes and I go to paste into another program but, whether it's Keynote, Powerpoint, Photoshop, or Graphic Converter, something always goes wrong: the images definitely lose some of their quality, become brighter in appearance, and get jagged on the edges. This is starting to drive me nuts, especially since it never happened in 10.4 on my iBook G4. Any suggestions?

    Make it an 8-bit file (Image menu > mode).

  • Experiencing problem with image display in LR5

    I have an intermittent problem with images displaying and exporting in LR. It just began a couple of months ago and is totally random - will do it with RAW (CR2) or JPG. It displays this way in all modules - Library, Develop, Slideshow....The image displays fine in a non-Adobe image viewer (Faststone or Windows Viewer). I've reloaded LR5 and PSCC and is still persists. I know the image file is fine. It also has begun effecting older images that were showing up just fine a while ago. I just loaded about 200 images and maybe 3 or so have this viewing problem in LR & PS. Has anyone else experienced it and have a suggested fix? My graphics card has the latest drivers and shows no problems with other applications. Here is the same image - one a jpg export from Lighroom, the other a save as jpg from Faststone. HELP!

    This is almost always a hardware problem, causing corruption of the file. The difference you see between Lightroom and other software is that Lightroom is accessing the full RAW image, while the other software is trying to read the embedded JPG preview.
    To figure out exactly what hardware is the problem, you need to try different transmission paths and hardware ... different camera cards, different card readers or USB cables/USB ports, different hard disks, etc. Eventually you should be able to isolate the problem.

  • My daughter's older Ipod Touch is having a problem with images becoming pixilated when taken from an e-mail and placed into her camera roll. ( She wants to put on Instagram ) Any help?

    My daughter's older Ipod Touch is having a problem with images becoming pixilated when taken from an e-mail and placed into her camera roll. ( She wants to put on Instagram ) Any help?

    I think that may be a consequence of the email provider she is using. Some services (AOL is one example) inspect and modify email attachments, particularly photos, resulting in reduced resolution compared to the email that was sent.
    The iPod does not do this. The resolution of the picture in the email she receives will be identical to what is imported.

Maybe you are looking for