Java by API/java.awt.image/ImageConsumer

Материал из Java эксперт
Перейти к: навигация, поиск

ImageConsumer.IMAGEABORTED

   <source lang="java">

// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O"Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ColorModel; import java.awt.image.FilteredImageSource; import java.awt.image.ImageConsumer; import java.awt.image.ImageFilter; import java.awt.image.ImageProducer; public class MainClass extends Applet {

 Image i, j;
 public void init() {
   i = getImage(getDocumentBase(), "rosey.jpg");
   j = createImage(new FilteredImageSource(i.getSource(), new DynamicFilter(250, 5, Color.yellow)));
 }
 public void paint(Graphics g) {
   g.drawImage(j, 10, 10, this);
 }

} class DynamicFilter extends ImageFilter {

 Color overlapColor;
 int delay;
 int imageWidth;
 int imageHeight;
 int iterations;
 DynamicFilter(int delay, int iterations, Color color) {
   this.delay = delay;
   this.iterations = iterations;
   overlapColor = color;
 }
 public void setDimensions(int width, int height) {
   imageWidth = width;
   imageHeight = height;
   consumer.setDimensions(width, height);
 }
 public void setHints(int hints) {
   consumer.setHints(ImageConsumer.RANDOMPIXELORDER);
 }
 public void resendTopDownLeftRight(ImageProducer ip) {
 }
 public void imageComplete(int status) {
   if ((status == IMAGEERROR) || (status == IMAGEABORTED)) {
     consumer.imageComplete(status);
     return;
   } else {
     int xWidth = imageWidth / iterations;
     if (xWidth <= 0)
       xWidth = 1;
     int newPixels[] = new int[xWidth * imageHeight];
     int iColor = overlapColor.getRGB();
     for (int x = 0; x < (xWidth * imageHeight); x++)
       newPixels[x] = iColor;
     int t = 0;
     for (; t < (imageWidth - xWidth); t += xWidth) {
       consumer.setPixels(t, 0, xWidth, imageHeight, ColorModel.getRGBdefault(), newPixels, 0,
           xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
       try {
         Thread.sleep(delay);
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
     }
     int left = imageWidth - t;
     if (left > 0) {
       consumer.setPixels(imageWidth - left, 0, left, imageHeight, ColorModel.getRGBdefault(),
           newPixels, 0, xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
     }
     consumer.imageComplete(STATICIMAGEDONE);
   }
 }

}

      </source>
   
  
 
  



ImageConsumer: imageComplete(int status)

   <source lang="java">

// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O"Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ColorModel; import java.awt.image.FilteredImageSource; import java.awt.image.ImageConsumer; import java.awt.image.ImageFilter; import java.awt.image.ImageProducer; public class MainClass extends Applet {

 Image i, j;
 public void init() {
   i = getImage(getDocumentBase(), "rosey.jpg");
   j = createImage(new FilteredImageSource(i.getSource(), new DynamicFilter(250, 5, Color.yellow)));
 }
 public void paint(Graphics g) {
   g.drawImage(j, 10, 10, this);
 }

} class DynamicFilter extends ImageFilter {

 Color overlapColor;
 int delay;
 int imageWidth;
 int imageHeight;
 int iterations;
 DynamicFilter(int delay, int iterations, Color color) {
   this.delay = delay;
   this.iterations = iterations;
   overlapColor = color;
 }
 public void setDimensions(int width, int height) {
   imageWidth = width;
   imageHeight = height;
   consumer.setDimensions(width, height);
 }
 public void setHints(int hints) {
   consumer.setHints(ImageConsumer.RANDOMPIXELORDER);
 }
 public void resendTopDownLeftRight(ImageProducer ip) {
 }
 public void imageComplete(int status) {
   if ((status == IMAGEERROR) || (status == IMAGEABORTED)) {
     consumer.imageComplete(status);
     return;
   } else {
     int xWidth = imageWidth / iterations;
     if (xWidth <= 0)
       xWidth = 1;
     int newPixels[] = new int[xWidth * imageHeight];
     int iColor = overlapColor.getRGB();
     for (int x = 0; x < (xWidth * imageHeight); x++)
       newPixels[x] = iColor;
     int t = 0;
     for (; t < (imageWidth - xWidth); t += xWidth) {
       consumer.setPixels(t, 0, xWidth, imageHeight, ColorModel.getRGBdefault(), newPixels, 0,
           xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
       try {
         Thread.sleep(delay);
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
     }
     int left = imageWidth - t;
     if (left > 0) {
       consumer.setPixels(imageWidth - left, 0, left, imageHeight, ColorModel.getRGBdefault(),
           newPixels, 0, xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
     }
     consumer.imageComplete(STATICIMAGEDONE);
   }
 }

}

      </source>
   
  
 
  



ImageConsumer.IMAGEERROR

   <source lang="java">

// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O"Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ColorModel; import java.awt.image.FilteredImageSource; import java.awt.image.ImageConsumer; import java.awt.image.ImageFilter; import java.awt.image.ImageProducer; public class MainClass extends Applet {

 Image i, j;
 public void init() {
   i = getImage(getDocumentBase(), "rosey.jpg");
   j = createImage(new FilteredImageSource(i.getSource(), new DynamicFilter(250, 5, Color.yellow)));
 }
 public void paint(Graphics g) {
   g.drawImage(j, 10, 10, this);
 }

} class DynamicFilter extends ImageFilter {

 Color overlapColor;
 int delay;
 int imageWidth;
 int imageHeight;
 int iterations;
 DynamicFilter(int delay, int iterations, Color color) {
   this.delay = delay;
   this.iterations = iterations;
   overlapColor = color;
 }
 public void setDimensions(int width, int height) {
   imageWidth = width;
   imageHeight = height;
   consumer.setDimensions(width, height);
 }
 public void setHints(int hints) {
   consumer.setHints(ImageConsumer.RANDOMPIXELORDER);
 }
 public void resendTopDownLeftRight(ImageProducer ip) {
 }
 public void imageComplete(int status) {
   if ((status == IMAGEERROR) || (status == IMAGEABORTED)) {
     consumer.imageComplete(status);
     return;
   } else {
     int xWidth = imageWidth / iterations;
     if (xWidth <= 0)
       xWidth = 1;
     int newPixels[] = new int[xWidth * imageHeight];
     int iColor = overlapColor.getRGB();
     for (int x = 0; x < (xWidth * imageHeight); x++)
       newPixels[x] = iColor;
     int t = 0;
     for (; t < (imageWidth - xWidth); t += xWidth) {
       consumer.setPixels(t, 0, xWidth, imageHeight, ColorModel.getRGBdefault(), newPixels, 0,
           xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
       try {
         Thread.sleep(delay);
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
     }
     int left = imageWidth - t;
     if (left > 0) {
       consumer.setPixels(imageWidth - left, 0, left, imageHeight, ColorModel.getRGBdefault(),
           newPixels, 0, xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
     }
     consumer.imageComplete(STATICIMAGEDONE);
   }
 }

}

      </source>
   
  
 
  



ImageConsumer: setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)

   <source lang="java">

// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O"Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ColorModel; import java.awt.image.FilteredImageSource; import java.awt.image.ImageConsumer; import java.awt.image.ImageFilter; import java.awt.image.ImageProducer; public class MainClass extends Applet {

 Image i, j;
 public void init() {
   i = getImage(getDocumentBase(), "rosey.jpg");
   j = createImage(new FilteredImageSource(i.getSource(), new DynamicFilter(250, 5, Color.yellow)));
 }
 public void paint(Graphics g) {
   g.drawImage(j, 10, 10, this);
 }

} class DynamicFilter extends ImageFilter {

 Color overlapColor;
 int delay;
 int imageWidth;
 int imageHeight;
 int iterations;
 DynamicFilter(int delay, int iterations, Color color) {
   this.delay = delay;
   this.iterations = iterations;
   overlapColor = color;
 }
 public void setDimensions(int width, int height) {
   imageWidth = width;
   imageHeight = height;
   consumer.setDimensions(width, height);
 }
 public void setHints(int hints) {
   consumer.setHints(ImageConsumer.RANDOMPIXELORDER);
 }
 public void resendTopDownLeftRight(ImageProducer ip) {
 }
 public void imageComplete(int status) {
   if ((status == IMAGEERROR) || (status == IMAGEABORTED)) {
     consumer.imageComplete(status);
     return;
   } else {
     int xWidth = imageWidth / iterations;
     if (xWidth <= 0)
       xWidth = 1;
     int newPixels[] = new int[xWidth * imageHeight];
     int iColor = overlapColor.getRGB();
     for (int x = 0; x < (xWidth * imageHeight); x++)
       newPixels[x] = iColor;
     int t = 0;
     for (; t < (imageWidth - xWidth); t += xWidth) {
       consumer.setPixels(t, 0, xWidth, imageHeight, ColorModel.getRGBdefault(), newPixels, 0,
           xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
       try {
         Thread.sleep(delay);
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
     }
     int left = imageWidth - t;
     if (left > 0) {
       consumer.setPixels(imageWidth - left, 0, left, imageHeight, ColorModel.getRGBdefault(),
           newPixels, 0, xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
     }
     consumer.imageComplete(STATICIMAGEDONE);
   }
 }

}

      </source>
   
  
 
  



ImageConsumer.SINGLEFRAMEDONE

   <source lang="java">

// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O"Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ColorModel; import java.awt.image.FilteredImageSource; import java.awt.image.ImageConsumer; import java.awt.image.ImageFilter; import java.awt.image.ImageProducer; public class MainClass extends Applet {

 Image i, j;
 public void init() {
   i = getImage(getDocumentBase(), "rosey.jpg");
   j = createImage(new FilteredImageSource(i.getSource(), new DynamicFilter(250, 5, Color.yellow)));
 }
 public void paint(Graphics g) {
   g.drawImage(j, 10, 10, this);
 }

} class DynamicFilter extends ImageFilter {

 Color overlapColor;
 int delay;
 int imageWidth;
 int imageHeight;
 int iterations;
 DynamicFilter(int delay, int iterations, Color color) {
   this.delay = delay;
   this.iterations = iterations;
   overlapColor = color;
 }
 public void setDimensions(int width, int height) {
   imageWidth = width;
   imageHeight = height;
   consumer.setDimensions(width, height);
 }
 public void setHints(int hints) {
   consumer.setHints(ImageConsumer.RANDOMPIXELORDER);
 }
 public void resendTopDownLeftRight(ImageProducer ip) {
 }
 public void imageComplete(int status) {
   if ((status == IMAGEERROR) || (status == IMAGEABORTED)) {
     consumer.imageComplete(status);
     return;
   } else {
     int xWidth = imageWidth / iterations;
     if (xWidth <= 0)
       xWidth = 1;
     int newPixels[] = new int[xWidth * imageHeight];
     int iColor = overlapColor.getRGB();
     for (int x = 0; x < (xWidth * imageHeight); x++)
       newPixels[x] = iColor;
     int t = 0;
     for (; t < (imageWidth - xWidth); t += xWidth) {
       consumer.setPixels(t, 0, xWidth, imageHeight, ColorModel.getRGBdefault(), newPixels, 0,
           xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
       try {
         Thread.sleep(delay);
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
     }
     int left = imageWidth - t;
     if (left > 0) {
       consumer.setPixels(imageWidth - left, 0, left, imageHeight, ColorModel.getRGBdefault(),
           newPixels, 0, xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
     }
     consumer.imageComplete(STATICIMAGEDONE);
   }
 }

}

      </source>
   
  
 
  



ImageConsumer.STATICIMAGEDONE

   <source lang="java">

// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O"Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ColorModel; import java.awt.image.FilteredImageSource; import java.awt.image.ImageConsumer; import java.awt.image.ImageFilter; import java.awt.image.ImageProducer; public class MainClass extends Applet {

 Image i, j;
 public void init() {
   i = getImage(getDocumentBase(), "rosey.jpg");
   j = createImage(new FilteredImageSource(i.getSource(), new DynamicFilter(250, 5, Color.yellow)));
 }
 public void paint(Graphics g) {
   g.drawImage(j, 10, 10, this);
 }

} class DynamicFilter extends ImageFilter {

 Color overlapColor;
 int delay;
 int imageWidth;
 int imageHeight;
 int iterations;
 DynamicFilter(int delay, int iterations, Color color) {
   this.delay = delay;
   this.iterations = iterations;
   overlapColor = color;
 }
 public void setDimensions(int width, int height) {
   imageWidth = width;
   imageHeight = height;
   consumer.setDimensions(width, height);
 }
 public void setHints(int hints) {
   consumer.setHints(ImageConsumer.RANDOMPIXELORDER);
 }
 public void resendTopDownLeftRight(ImageProducer ip) {
 }
 public void imageComplete(int status) {
   if ((status == IMAGEERROR) || (status == IMAGEABORTED)) {
     consumer.imageComplete(status);
     return;
   } else {
     int xWidth = imageWidth / iterations;
     if (xWidth <= 0)
       xWidth = 1;
     int newPixels[] = new int[xWidth * imageHeight];
     int iColor = overlapColor.getRGB();
     for (int x = 0; x < (xWidth * imageHeight); x++)
       newPixels[x] = iColor;
     int t = 0;
     for (; t < (imageWidth - xWidth); t += xWidth) {
       consumer.setPixels(t, 0, xWidth, imageHeight, ColorModel.getRGBdefault(), newPixels, 0,
           xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
       try {
         Thread.sleep(delay);
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
     }
     int left = imageWidth - t;
     if (left > 0) {
       consumer.setPixels(imageWidth - left, 0, left, imageHeight, ColorModel.getRGBdefault(),
           newPixels, 0, xWidth);
       consumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE);
     }
     consumer.imageComplete(STATICIMAGEDONE);
   }
 }

}

      </source>