<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.awt.image%2FPixelGrabber</id>
		<title>Java by API/java.awt.image/PixelGrabber - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.awt.image%2FPixelGrabber"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt.image/PixelGrabber&amp;action=history"/>
		<updated>2026-04-26T13:03:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/java.awt.image/PixelGrabber&amp;diff=901&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt.image/PixelGrabber&amp;diff=901&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:43, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/java.awt.image/PixelGrabber&amp;diff=902&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt.image/PixelGrabber&amp;diff=902&amp;oldid=prev"/>
				<updated>2010-05-31T14:22:33Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== new PixelGrabber(Image img, int x, int y, int w, int h, int[] pix, int off, int scansize) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Image;&lt;br /&gt;
import java.awt.MediaTracker;&lt;br /&gt;
import java.awt.image.ImageObserver;&lt;br /&gt;
import java.awt.image.MemoryImageSource;&lt;br /&gt;
import java.awt.image.PixelGrabber;&lt;br /&gt;
public class MainClass extends Applet {&lt;br /&gt;
  Image i, j, k, l;&lt;br /&gt;
  public void init() {&lt;br /&gt;
    MediaTracker mt = new MediaTracker(this);&lt;br /&gt;
    i = getImage(getDocumentBase(), &amp;quot;ora-icon.gif&amp;quot;);&lt;br /&gt;
    mt.addImage(i, 0);&lt;br /&gt;
    try {&lt;br /&gt;
      mt.waitForAll();&lt;br /&gt;
      int width = i.getWidth(this);&lt;br /&gt;
      int height = i.getHeight(this);&lt;br /&gt;
      int pixels[] = new int[width * height];&lt;br /&gt;
      PixelGrabber pg = new PixelGrabber(i, 0, 0, width, height, pixels, 0, width);&lt;br /&gt;
      if (pg.grabPixels() &amp;amp;&amp;amp; ((pg.status() &amp;amp; ImageObserver.ALLBITS) != 0)) {&lt;br /&gt;
        j = createImage(new MemoryImageSource(width, height, rowFlipPixels(pixels, width, height),&lt;br /&gt;
            0, width));&lt;br /&gt;
        k = createImage(new MemoryImageSource(width, height, colFlipPixels(pixels, width, height),&lt;br /&gt;
            0, width));&lt;br /&gt;
        l = createImage(new MemoryImageSource(height, width, rot90Pixels(pixels, width, height), 0,&lt;br /&gt;
            height));&lt;br /&gt;
      }&lt;br /&gt;
    } catch (InterruptedException e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawImage(i, 10, 10, this); // regular&lt;br /&gt;
    if (j != null)&lt;br /&gt;
      g.drawImage(j, 150, 10, this); // rowFlip&lt;br /&gt;
    if (k != null)&lt;br /&gt;
      g.drawImage(k, 10, 60, this); // colFlip&lt;br /&gt;
    if (l != null)&lt;br /&gt;
      g.drawImage(l, 150, 60, this); // rot90&lt;br /&gt;
  }&lt;br /&gt;
  private int[] rowFlipPixels(int pixels[], int width, int height) {&lt;br /&gt;
    int newPixels[] = null;&lt;br /&gt;
    if ((width * height) == pixels.length) {&lt;br /&gt;
      newPixels = new int[width * height];&lt;br /&gt;
      int newIndex = 0;&lt;br /&gt;
      for (int y = height - 1; y &amp;gt;= 0; y--)&lt;br /&gt;
        for (int x = width - 1; x &amp;gt;= 0; x--)&lt;br /&gt;
          newPixels[newIndex++] = pixels[y * width + x];&lt;br /&gt;
    }&lt;br /&gt;
    return newPixels;&lt;br /&gt;
  }&lt;br /&gt;
  private int[] colFlipPixels(int pixels[], int width, int height) {&lt;br /&gt;
    int newPixels[] = null;&lt;br /&gt;
    if ((width * height) == pixels.length) {&lt;br /&gt;
      newPixels = new int[width * height];&lt;br /&gt;
      int newIndex = 0;&lt;br /&gt;
      for (int y = 0; y &amp;lt; height; y++)&lt;br /&gt;
        for (int x = width - 1; x &amp;gt;= 0; x--)&lt;br /&gt;
          newPixels[newIndex++] = pixels[y * width + x];&lt;br /&gt;
    }&lt;br /&gt;
    return newPixels;&lt;br /&gt;
  }&lt;br /&gt;
  private int[] rot90Pixels(int pixels[], int width, int height) {&lt;br /&gt;
    int newPixels[] = null;&lt;br /&gt;
    if ((width * height) == pixels.length) {&lt;br /&gt;
      newPixels = new int[width * height];&lt;br /&gt;
      int newIndex = 0;&lt;br /&gt;
      for (int x = width - 1; x &amp;gt;= 0; x--)&lt;br /&gt;
        for (int y = 0; y &amp;lt; height; y++)&lt;br /&gt;
          newPixels[newIndex++] = pixels[y * width + x];&lt;br /&gt;
    }&lt;br /&gt;
    return newPixels;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PixelGrabber: getColorModel() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.AWTEvent;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Image;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.image.PixelGrabber;&lt;br /&gt;
public class MainClass extends Applet {&lt;br /&gt;
  Image i;&lt;br /&gt;
  PixelGrabber pg;&lt;br /&gt;
  public void init() {&lt;br /&gt;
    i = getImage(getDocumentBase(), &amp;quot;ora-icon.gif&amp;quot;);&lt;br /&gt;
    pg = new PixelGrabber(i, 0, 0, -1, -1, false);&lt;br /&gt;
    pg.startGrabbing();&lt;br /&gt;
    enableEvents(AWTEvent.MOUSE_EVENT_MASK);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawImage(i, 10, 10, this);&lt;br /&gt;
  }&lt;br /&gt;
  protected void processMouseEvent(MouseEvent e) {&lt;br /&gt;
    if (e.getID() == MouseEvent.MOUSE_CLICKED) {&lt;br /&gt;
      System.out.println(&amp;quot;Status: &amp;quot; + pg.getStatus());&lt;br /&gt;
      System.out.println(&amp;quot;Width:  &amp;quot; + pg.getWidth());&lt;br /&gt;
      System.out.println(&amp;quot;Height: &amp;quot; + pg.getHeight());&lt;br /&gt;
      System.out.println(&amp;quot;Pixels: &amp;quot; + (pg.getPixels() instanceof byte[] ? &amp;quot;bytes&amp;quot; : &amp;quot;ints&amp;quot;));&lt;br /&gt;
      System.out.println(&amp;quot;Model:  &amp;quot; + pg.getColorModel());&lt;br /&gt;
    }&lt;br /&gt;
    super.processMouseEvent(e);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PixelGrabber: getHeight() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.AWTEvent;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Image;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.image.PixelGrabber;&lt;br /&gt;
public class MainClass extends Applet {&lt;br /&gt;
  Image i;&lt;br /&gt;
  PixelGrabber pg;&lt;br /&gt;
  public void init() {&lt;br /&gt;
    i = getImage(getDocumentBase(), &amp;quot;ora-icon.gif&amp;quot;);&lt;br /&gt;
    pg = new PixelGrabber(i, 0, 0, -1, -1, false);&lt;br /&gt;
    pg.startGrabbing();&lt;br /&gt;
    enableEvents(AWTEvent.MOUSE_EVENT_MASK);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawImage(i, 10, 10, this);&lt;br /&gt;
  }&lt;br /&gt;
  protected void processMouseEvent(MouseEvent e) {&lt;br /&gt;
    if (e.getID() == MouseEvent.MOUSE_CLICKED) {&lt;br /&gt;
      System.out.println(&amp;quot;Status: &amp;quot; + pg.getStatus());&lt;br /&gt;
      System.out.println(&amp;quot;Width:  &amp;quot; + pg.getWidth());&lt;br /&gt;
      System.out.println(&amp;quot;Height: &amp;quot; + pg.getHeight());&lt;br /&gt;
      System.out.println(&amp;quot;Pixels: &amp;quot; + (pg.getPixels() instanceof byte[] ? &amp;quot;bytes&amp;quot; : &amp;quot;ints&amp;quot;));&lt;br /&gt;
      System.out.println(&amp;quot;Model:  &amp;quot; + pg.getColorModel());&lt;br /&gt;
    }&lt;br /&gt;
    super.processMouseEvent(e);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PixelGrabber: getPixels() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.AWTEvent;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Image;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.image.PixelGrabber;&lt;br /&gt;
public class MainClass extends Applet {&lt;br /&gt;
  Image i;&lt;br /&gt;
  PixelGrabber pg;&lt;br /&gt;
  public void init() {&lt;br /&gt;
    i = getImage(getDocumentBase(), &amp;quot;ora-icon.gif&amp;quot;);&lt;br /&gt;
    pg = new PixelGrabber(i, 0, 0, -1, -1, false);&lt;br /&gt;
    pg.startGrabbing();&lt;br /&gt;
    enableEvents(AWTEvent.MOUSE_EVENT_MASK);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawImage(i, 10, 10, this);&lt;br /&gt;
  }&lt;br /&gt;
  protected void processMouseEvent(MouseEvent e) {&lt;br /&gt;
    if (e.getID() == MouseEvent.MOUSE_CLICKED) {&lt;br /&gt;
      System.out.println(&amp;quot;Status: &amp;quot; + pg.getStatus());&lt;br /&gt;
      System.out.println(&amp;quot;Width:  &amp;quot; + pg.getWidth());&lt;br /&gt;
      System.out.println(&amp;quot;Height: &amp;quot; + pg.getHeight());&lt;br /&gt;
      System.out.println(&amp;quot;Pixels: &amp;quot; + (pg.getPixels() instanceof byte[] ? &amp;quot;bytes&amp;quot; : &amp;quot;ints&amp;quot;));&lt;br /&gt;
      System.out.println(&amp;quot;Model:  &amp;quot; + pg.getColorModel());&lt;br /&gt;
    }&lt;br /&gt;
    super.processMouseEvent(e);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PixelGrabber: getStatus() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.AWTEvent;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Image;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.image.PixelGrabber;&lt;br /&gt;
public class MainClass extends Applet {&lt;br /&gt;
  Image i;&lt;br /&gt;
  PixelGrabber pg;&lt;br /&gt;
  public void init() {&lt;br /&gt;
    i = getImage(getDocumentBase(), &amp;quot;ora-icon.gif&amp;quot;);&lt;br /&gt;
    pg = new PixelGrabber(i, 0, 0, -1, -1, false);&lt;br /&gt;
    pg.startGrabbing();&lt;br /&gt;
    enableEvents(AWTEvent.MOUSE_EVENT_MASK);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawImage(i, 10, 10, this);&lt;br /&gt;
  }&lt;br /&gt;
  protected void processMouseEvent(MouseEvent e) {&lt;br /&gt;
    if (e.getID() == MouseEvent.MOUSE_CLICKED) {&lt;br /&gt;
      System.out.println(&amp;quot;Status: &amp;quot; + pg.getStatus());&lt;br /&gt;
      System.out.println(&amp;quot;Width:  &amp;quot; + pg.getWidth());&lt;br /&gt;
      System.out.println(&amp;quot;Height: &amp;quot; + pg.getHeight());&lt;br /&gt;
      System.out.println(&amp;quot;Pixels: &amp;quot; + (pg.getPixels() instanceof byte[] ? &amp;quot;bytes&amp;quot; : &amp;quot;ints&amp;quot;));&lt;br /&gt;
      System.out.println(&amp;quot;Model:  &amp;quot; + pg.getColorModel());&lt;br /&gt;
    }&lt;br /&gt;
    super.processMouseEvent(e);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PixelGrabber: getWidth() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.AWTEvent;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Image;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.image.PixelGrabber;&lt;br /&gt;
public class MainClass extends Applet {&lt;br /&gt;
  Image i;&lt;br /&gt;
  PixelGrabber pg;&lt;br /&gt;
  public void init() {&lt;br /&gt;
    i = getImage(getDocumentBase(), &amp;quot;ora-icon.gif&amp;quot;);&lt;br /&gt;
    pg = new PixelGrabber(i, 0, 0, -1, -1, false);&lt;br /&gt;
    pg.startGrabbing();&lt;br /&gt;
    enableEvents(AWTEvent.MOUSE_EVENT_MASK);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawImage(i, 10, 10, this);&lt;br /&gt;
  }&lt;br /&gt;
  protected void processMouseEvent(MouseEvent e) {&lt;br /&gt;
    if (e.getID() == MouseEvent.MOUSE_CLICKED) {&lt;br /&gt;
      System.out.println(&amp;quot;Status: &amp;quot; + pg.getStatus());&lt;br /&gt;
      System.out.println(&amp;quot;Width:  &amp;quot; + pg.getWidth());&lt;br /&gt;
      System.out.println(&amp;quot;Height: &amp;quot; + pg.getHeight());&lt;br /&gt;
      System.out.println(&amp;quot;Pixels: &amp;quot; + (pg.getPixels() instanceof byte[] ? &amp;quot;bytes&amp;quot; : &amp;quot;ints&amp;quot;));&lt;br /&gt;
      System.out.println(&amp;quot;Model:  &amp;quot; + pg.getColorModel());&lt;br /&gt;
    }&lt;br /&gt;
    super.processMouseEvent(e);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PixelGrabber: grabPixels() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Image;&lt;br /&gt;
import java.awt.MediaTracker;&lt;br /&gt;
import java.awt.image.ImageObserver;&lt;br /&gt;
import java.awt.image.MemoryImageSource;&lt;br /&gt;
import java.awt.image.PixelGrabber;&lt;br /&gt;
public class MainClass extends Applet {&lt;br /&gt;
  Image i, j, k, l;&lt;br /&gt;
  public void init() {&lt;br /&gt;
    MediaTracker mt = new MediaTracker(this);&lt;br /&gt;
    i = getImage(getDocumentBase(), &amp;quot;ora-icon.gif&amp;quot;);&lt;br /&gt;
    mt.addImage(i, 0);&lt;br /&gt;
    try {&lt;br /&gt;
      mt.waitForAll();&lt;br /&gt;
      int width = i.getWidth(this);&lt;br /&gt;
      int height = i.getHeight(this);&lt;br /&gt;
      int pixels[] = new int[width * height];&lt;br /&gt;
      PixelGrabber pg = new PixelGrabber(i, 0, 0, width, height, pixels, 0, width);&lt;br /&gt;
      if (pg.grabPixels() &amp;amp;&amp;amp; ((pg.status() &amp;amp; ImageObserver.ALLBITS) != 0)) {&lt;br /&gt;
        j = createImage(new MemoryImageSource(width, height, rowFlipPixels(pixels, width, height),&lt;br /&gt;
            0, width));&lt;br /&gt;
        k = createImage(new MemoryImageSource(width, height, colFlipPixels(pixels, width, height),&lt;br /&gt;
            0, width));&lt;br /&gt;
        l = createImage(new MemoryImageSource(height, width, rot90Pixels(pixels, width, height), 0,&lt;br /&gt;
            height));&lt;br /&gt;
      }&lt;br /&gt;
    } catch (InterruptedException e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawImage(i, 10, 10, this); // regular&lt;br /&gt;
    if (j != null)&lt;br /&gt;
      g.drawImage(j, 150, 10, this); // rowFlip&lt;br /&gt;
    if (k != null)&lt;br /&gt;
      g.drawImage(k, 10, 60, this); // colFlip&lt;br /&gt;
    if (l != null)&lt;br /&gt;
      g.drawImage(l, 150, 60, this); // rot90&lt;br /&gt;
  }&lt;br /&gt;
  private int[] rowFlipPixels(int pixels[], int width, int height) {&lt;br /&gt;
    int newPixels[] = null;&lt;br /&gt;
    if ((width * height) == pixels.length) {&lt;br /&gt;
      newPixels = new int[width * height];&lt;br /&gt;
      int newIndex = 0;&lt;br /&gt;
      for (int y = height - 1; y &amp;gt;= 0; y--)&lt;br /&gt;
        for (int x = width - 1; x &amp;gt;= 0; x--)&lt;br /&gt;
          newPixels[newIndex++] = pixels[y * width + x];&lt;br /&gt;
    }&lt;br /&gt;
    return newPixels;&lt;br /&gt;
  }&lt;br /&gt;
  private int[] colFlipPixels(int pixels[], int width, int height) {&lt;br /&gt;
    int newPixels[] = null;&lt;br /&gt;
    if ((width * height) == pixels.length) {&lt;br /&gt;
      newPixels = new int[width * height];&lt;br /&gt;
      int newIndex = 0;&lt;br /&gt;
      for (int y = 0; y &amp;lt; height; y++)&lt;br /&gt;
        for (int x = width - 1; x &amp;gt;= 0; x--)&lt;br /&gt;
          newPixels[newIndex++] = pixels[y * width + x];&lt;br /&gt;
    }&lt;br /&gt;
    return newPixels;&lt;br /&gt;
  }&lt;br /&gt;
  private int[] rot90Pixels(int pixels[], int width, int height) {&lt;br /&gt;
    int newPixels[] = null;&lt;br /&gt;
    if ((width * height) == pixels.length) {&lt;br /&gt;
      newPixels = new int[width * height];&lt;br /&gt;
      int newIndex = 0;&lt;br /&gt;
      for (int x = width - 1; x &amp;gt;= 0; x--)&lt;br /&gt;
        for (int y = 0; y &amp;lt; height; y++)&lt;br /&gt;
          newPixels[newIndex++] = pixels[y * width + x];&lt;br /&gt;
    }&lt;br /&gt;
    return newPixels;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>