Welcome to the Java Programming Forums

The professional, friendly Java community. 21,500 members and growing!

The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 1 of 1

Thread: Creating a bufferedimage!

  1. #1
    Junior Member
    Join Date
    Jun 2010
    Thanked 0 Times in 0 Posts

    Default Creating a bufferedimage!

    Hello People of the java programming forums!

    i am a big noob with java scripts and programming, but never the less have got my self in the deep end with this.

    i intended to translate a java mobile game into english, i have managed to translate all but some images of menu icons, the files which contain the menu icons are in a strange format, it took me a long time just to open them, but i have opened them now and edited them, but i do not know how i can make them back into the format they were in they seem to be png files, from what i can see after open them in a text editor and reading the file header and after researching i have come to the conclousion they are bufferdimages with a transparent colour in rgb png. if anyone can help me create these images so that the game understands them i would be so grateful, ive been trying to learn java but i think i need to learn alot more just to even approch this problem, and i could be totely wrong.

    i can upload the whole game and any files which may help determine the problem.

    here is a code which i cant understand.

    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.awt.image.PixelGrabber;
    import javax.swing.ImageIcon;
    public class Pictures {
        public static BufferedImage toBufferedImage(Image image) {
            if (image instanceof BufferedImage) {
                return (BufferedImage) image;
            // This code ensures that all the pixels in the image are loaded
            image = new ImageIcon(image).getImage();
            // Determine if the image has transparent pixels
            boolean hasAlpha = hasAlpha(image);
            // Create a buffered image with a format that's compatible with the
            // screen
            BufferedImage bimage = null;
            GraphicsEnvironment ge = GraphicsEnvironment
            try {
                // Determine the type of transparency of the new buffered image
                int transparency = Transparency.OPAQUE;
                if (hasAlpha == true) {
                    transparency = Transparency.BITMASK;
                // Create the buffered image
                GraphicsDevice gs = ge.getDefaultScreenDevice();
                GraphicsConfiguration gc = gs.getDefaultConfiguration();
                bimage = gc.createCompatibleImage(image.getWidth(null), image
                        .getHeight(null), transparency);
            } catch (HeadlessException e) {
            } // No screen
            if (bimage == null) {
                // Create a buffered image using the default color model
                int type = BufferedImage.TYPE_INT_RGB;
                if (hasAlpha == true) {
                    type = BufferedImage.TYPE_INT_ARGB;
                bimage = new BufferedImage(image.getWidth(null), image
                        .getHeight(null), type);
            // Copy image to buffered image
            Graphics g = bimage.createGraphics();
            // Paint the image onto the buffered image
            g.drawImage(image, 0, 0, null);
            return bimage;
        public static boolean hasAlpha(Image image) {
            // If buffered image, the color model is readily available
            if (image instanceof BufferedImage) {
                return ((BufferedImage) image).getColorModel().hasAlpha();
            // Use a pixel grabber to retrieve the image's color model;
            // grabbing a single pixel is usually sufficient
            PixelGrabber pg = new PixelGrabber(image, 0, 0, 1, 1, false);
            try {
            } catch (InterruptedException e) {
            // Get the image's color model
            return pg.getColorModel().hasAlpha();
        public static void main(String[] args) {
            String myImage = "smiley-icon-5.jpg";
            Image image = java.awt.Toolkit.getDefaultToolkit().createImage(myImage);
            Pictures p = new Pictures();

    here is a example of the files,
    one is the original, with the extension .p and saved in a zip file
    and one is edited and saved in png format,
    i need to convert the png file into the .p file,
    the .p files will not open in any paint program i have found except irfanview,

    Thank you in advance. Leo aka Vexst
    Attached Images Attached Images
    Attached Files Attached Files
    Last edited by Vexst; June 16th, 2010 at 08:13 AM.

Similar Threads

  1. free memory of bufferedimage
    By mr_empty in forum Java SE APIs
    Replies: 2
    Last Post: January 19th, 2010, 06:14 AM
  2. Creating new instance
    By vluong in forum Object Oriented Programming
    Replies: 2
    Last Post: November 28th, 2009, 11:35 PM
  3. Need help creating this program
    By ixjaybeexi in forum File I/O & Other I/O Streams
    Replies: 25
    Last Post: October 19th, 2009, 07:08 AM
  4. creating a gui
    By rsala004 in forum AWT / Java Swing
    Replies: 2
    Last Post: July 21st, 2009, 02:17 AM
  5. Replies: 2
    Last Post: June 29th, 2009, 03:06 PM