You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Tim Ellison <t....@gmail.com> on 2007/09/24 16:50:28 UTC

[OT] cool photos (was: Re: [jira] Created: (HARMONY-4791) [classlib][awt][image] Harmony has problem in drawing medium-or-large size of png file if not guarded by MediaTracker)

Now *that's* a creative way to get a decent testing budget -- "the code
only breaks when we use photos like this" :-)

(Open the JIRA page to see them)

Tim

Chunrong Lai (JIRA) wrote:
> [classlib][awt][image] Harmony has problem in drawing medium-or-large size of png file if not guarded by MediaTracker
> ---------------------------------------------------------------------------------------------------------------------
> 
>                  Key: HARMONY-4791
>                  URL: https://issues.apache.org/jira/browse/HARMONY-4791
>              Project: Harmony
>           Issue Type: Bug
>           Components: Classlib
>          Environment: Win32
>             Reporter: Chunrong Lai
> 
> 
> 
>  Sometimes I even observed that Harmony crashes in multi-threading environment but I have not reproducer yet.
>  Anyway with below reproducer Harmony draw a glittering 10million.png and the 40million.png breaks finally.
> 
> import java.io.*;
> import java.awt.*;
> import java.awt.image.*;
> import javax.swing.*;
> 
> public class DrawImageTest extends JFrame {
>    public Image image;
>    public static void  main(String[] args){
>       DrawImageTest aTest = new DrawImageTest();
>       if(args.length <1) {
>          System.out.println("Please input a valid image name");
>          System.exit(0);
>       }
>       aTest.setSize(800, 600);
>       aTest.readImage(args[0]);
>       aTest.show();
>    }
>    public DrawImageTest(){}
>    public void readImage(String imageName){
>        if(image == null) {
>          image = Toolkit.getDefaultToolkit().getImage(imageName);
>          /*******
>          MediaTracker imageTracker = new MediaTracker(new JPanel());
>          imageTracker.addImage(image, 0);
>          try{
>           imageTracker.waitForID(0);
>          }catch(InterruptedException e){}
>          ********/
>          if(image == null) System.out.println("we get an image of null");
>          else              System.out.println("we get an image of width " + image.getWidth(this) + " height " + image.getHeight(this));
>        }
>    }   
>    public void paint(Graphics g){
>        super.paint(g);
>        g.drawImage(image, 0, 0, null);
>    }
> }
> 

Re: [OT] cool photos (was: Re: [jira] Created: (HARMONY-4791) [classlib][awt][image] Harmony has problem in drawing medium-or-large size of png file if not guarded by MediaTracker)

Posted by Alexey Petrenko <al...@gmail.com>.
Chunrong used these photos for several bug reports... Really nice pictures :)

2007/9/24, Tim Ellison <t....@gmail.com>:
> Now *that's* a creative way to get a decent testing budget -- "the code
> only breaks when we use photos like this" :-)
>
> (Open the JIRA page to see them)
>
> Tim
>
> Chunrong Lai (JIRA) wrote:
> > [classlib][awt][image] Harmony has problem in drawing medium-or-large size of png file if not guarded by MediaTracker
> > ---------------------------------------------------------------------------------------------------------------------
> >
> >                  Key: HARMONY-4791
> >                  URL: https://issues.apache.org/jira/browse/HARMONY-4791
> >              Project: Harmony
> >           Issue Type: Bug
> >           Components: Classlib
> >          Environment: Win32
> >             Reporter: Chunrong Lai
> >
> >
> >
> >  Sometimes I even observed that Harmony crashes in multi-threading environment but I have not reproducer yet.
> >  Anyway with below reproducer Harmony draw a glittering 10million.png and the 40million.png breaks finally.
> >
> > import java.io.*;
> > import java.awt.*;
> > import java.awt.image.*;
> > import javax.swing.*;
> >
> > public class DrawImageTest extends JFrame {
> >    public Image image;
> >    public static void  main(String[] args){
> >       DrawImageTest aTest = new DrawImageTest();
> >       if(args.length <1) {
> >          System.out.println("Please input a valid image name");
> >          System.exit(0);
> >       }
> >       aTest.setSize(800, 600);
> >       aTest.readImage(args[0]);
> >       aTest.show();
> >    }
> >    public DrawImageTest(){}
> >    public void readImage(String imageName){
> >        if(image == null) {
> >          image = Toolkit.getDefaultToolkit().getImage(imageName);
> >          /*******
> >          MediaTracker imageTracker = new MediaTracker(new JPanel());
> >          imageTracker.addImage(image, 0);
> >          try{
> >           imageTracker.waitForID(0);
> >          }catch(InterruptedException e){}
> >          ********/
> >          if(image == null) System.out.println("we get an image of null");
> >          else              System.out.println("we get an image of width " + image.getWidth(this) + " height " + image.getHeight(this));
> >        }
> >    }
> >    public void paint(Graphics g){
> >        super.paint(g);
> >        g.drawImage(image, 0, 0, null);
> >    }
> > }
> >
>