0

Hey! I got two classes here, one that does stuff with an image and one class utilizing the other class. So inside my picture class I have an Image object and in my other class I want to have a JFrame and I want to set the size of the frame to the size of the picture... So inside my picture class I tried creating two methods, getX and getY that returns

int methodX(){return picture.getWidth(this);

alternatively with null in the argument:

 int methodX(){return picture.getWidth(null)

but when I call these methods from my other class with a System.out.print(just to check the value) it returns -1.

What would be the proper way to get the pixel size of the image?

2
Contributors
2
Replies
4
Views
5 Years
Discussion Span
Last Post by Checkerboz
0

What does the API doc say for the Image class's getWidth() method?
Does the picture variable have a valid image?

Edited by NormR1

0

abstract int getHeight(ImageObserver observer)
Determines the height of the image.
Determines the height of the image. If the height is not yet known, this method returns -1 and the specified ImageObserver object is notified later. "

The image is valid I suppose since this method work, inside my picture class there's the:

 Image picture;
void paintComponent(Graphics g){
        super.paintComponent(g);

        g.drawImage(picture, 0,0, picture.getWidth(this), picture.getHeight(this), this);

    }

But if I make another method that tries to return the int of "picture.getWidth(this)" it just gives me a -1.
Maybe if I try all this with a BufferedImage instead of an Image it will work better!

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.