Java-Gaming.org Java4K winners: [ by our judges | by the community ]         
Featured games (67)
games approved by the League of Dukes
Games in Showcase (∞)
games submitted by our members



News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  Print  
  Graphics.copyArea bug?  (Read 314 times)
0 Members and 1 Guest are viewing this topic.
Offline lauwenmark

JGO n00b
*

Posts: 5



« on: 2012-01-17 06:36:11 »

Hello,

I have a problem when using copyArea to scroll an image with a negative dx value (that is, scroll an image to the left) with an opaque picture format.

Here is a simple test I performed in a JFrame:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
public class TestFrame extends javax.swing.JFrame
{

    private BufferedImage buffer = null;
    /**
     * Creates new form TestFrame
     */

    public TestFrame()
    {
        try
        {
            BufferedImage img = ImageIO.read(new File("/home/lauwenmark/tmp/test.jpg"));
            this.buffer = new BufferedImage(1600, 1200, BufferedImage.TYPE_INT_RGB);
            Graphics2D g2d = this.buffer.createGraphics();
            g2d.drawImage(img, 0, 0, this);
            g2d.dispose();
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
            this.buffer = new BufferedImage(1600, 1200, BufferedImage.TYPE_INT_RGB);
        }
    }

    @Override
    public void paint(Graphics g)
    {
        Graphics2D g2d = (Graphics2D)g;
        super.paint(g);
        g2d.drawImage(this.buffer, 0, 0, this);
    }


And I scroll using this:

1  
2  
3  
4  
        Graphics2D g2d = buffer.createGraphics();
        g2d.copyArea(64, 0, this.buffer.getWidth()-64, this.buffer.getHeight(), -64, 0);
        g2d.dispose();
        this.repaint();


When this.buffer is of TYPE_INT_ARGB, it works as expected. However, when using TYPE_INT_RGB, it doesn't and ends up corrupting the display like this:



Uploaded with ImageShack.us

Where am I doing it wrong? Or is it a bug in copyArea?
Offline gimbal

Full Member
**

Posts: 186
Medals: 11



« Reply #1 on: 2012-01-17 10:12:27 »

Question has already gotten answers here:

https://forums.oracle.com/forums/thread.jspa?threadID=2334244
Pages: [1]
  Print  
 
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.105 seconds with 20 queries.