|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
java.lang.Object | +--java.awt.image.MemoryImageSource
ÀÌ Å¬·¡½º´Â ¹è¿À» »ç¿ëÇØ Image ÀÇ Çȼ¿Ä¡¸¦ »ý¼ºÇÏ´Â ImageProducer ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. ÀÌÇÏÀÇ ¿¹´Â X Ãà¹æÇâÀ¸·Î ÈæÀ¸·ÎºÎÅÍ ÆÄ¶û¿¡ º¯ÈÇØ, Y Ãà¹æÇâÀ¸·Î ÈæÀ¸·ÎºÎÅÍ »¡°¿¡ º¯ÈÇÏ´Â 100¡¿100 ÀÇ À̹ÌÁöÀÔ´Ï´Ù.
int w = 100;
int h = 100;
int pix[] = new int[w * h];
int index = 0;
for (int y = 0; y < h; y++) {
int red = (y * 255) / (h - 1);
for (int x = 0; x < w; x++) {
int blue = (x * 255) / (w - 1);
pix[index++] = (255 << 24) | (red << 16) | blue;
}
}
Image img = createImage(new MemoryImageSource(w, h, pix, 0, w));
¶Ç, MemoryImageSource ´Â ½Ã°£°ú ÇÔ²² º¯ÈÇØ, ¾Ö´Ï¸ÞÀ̼ÇÀ̳ª Ä¿½ºÅÒ ·»´õ¸µÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ¸Þ¸ð¸® À̹ÌÁö¸¦ °ü¸®ÇÏ´Â ±â´ÉÀ» °¡Áý´Ï´Ù. ÀÌÇÏ¿¡, ¾Ö´Ï¸ÞÀÌ¼Ç ¼Ò½º, ¹× µ¥ÀÌÅÍÀÇ ½ÅÈ£ º¯ÈÀÇ ¼³Á¤ ¹æ¹ý¹ýÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù (Garth Dickie ¿¡ ÀÇÇÑ MemoryAnimationSourceDemo ·ÎºÎÅÍÀÇ Àû¿ë).
int pixels[];
MemoryImageSource source;
public void init() {
int width = 50;
int height = 50;
int size = width * height;
pixels = new int[size];
int value = getBackground(). getRGB();
for (int i = 0; i < size; i++) {
pixels[i] = value;
}
source = new MemoryImageSource(width, height, pixels, 0, width);
source.setAnimated(true);
image = createImage(source);
}
public void run() {
Thread me = Thread.currentThread( );
me.setPriority(Thread.MIN_PRIORITY);
while (true) {
try {
thread.sleep(10);
} catch( InterruptedException e ) {
return;
}
// Modify the values in the pixels array at (x, y, w, h)
// Send the new data to the interested ImageConsumers
source.newPixels(x, y, w, h);
}
}
ImageProducer | »ý¼ºÀÚÀÇ °³¿ä | |
MemoryImageSource (int w,
int h,
ColorModel cm,
byte[] pix,
int off,
int scan)
byte ¹è¿À» »ç¿ëÇØ Image ¿ÀºêÁ§Æ® µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ImageProducer ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
MemoryImageSource (int w,
int h,
ColorModel cm,
byte[] pix,
int off,
int scan,
Hashtable props)
byte ¹è¿À» »ç¿ëÇØ Image ¿ÀºêÁ§Æ® µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ImageProducer ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
MemoryImageSource (int w,
int h,
ColorModel cm,
int[] pix,
int off,
int scan)
Á¤¼öÇü ¹è¿À» »ç¿ëÇØ Image ¿ÀºêÁ§Æ® µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ImageProducer ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
MemoryImageSource (int w,
int h,
ColorModel cm,
int[] pix,
int off,
int scan,
Hashtable props)
Á¤¼öÇü ¹è¿À» »ç¿ëÇØ Image ¿ÀºêÁ§Æ® µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ImageProducer ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
MemoryImageSource (int w,
int h,
int[] pix,
int off,
int scan)
µðÆúÆ® RGB Ä®¶ó ¸ðµ¨ÀÇ Á¤¼öÇü ¹è¿À» »ç¿ëÇØ Image ¿ÀºêÁ§Æ® µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ImageProducer ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
MemoryImageSource (int w,
int h,
int[] pix,
int off,
int scan,
Hashtable props)
µðÆúÆ® RGB Ä®¶ó ¸ðµ¨ÀÇ Á¤¼öÇü ¹è¿À» »ç¿ëÇØ Image ¿ÀºêÁ§Æ® µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ImageProducer ¿ÀºêÁ§Æ®¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
| ¸Þ¼ÒµåÀÇ °³¿ä | |
void |
addConsumer (ImageConsumer ic)
ÀÌ À̹ÌÁöÀÇ µ¥ÀÌÅÍÀÇ Àü´Þ ´ë»óÀÌ µÇ°í ÀÖ´Â ÄÁ½´¸Ó(consumer)ÀÇ ¸®½ºÆ®¿¡ ImageConsumer ¸¦ Ãß°¡ÇÕ´Ï´Ù. |
boolean |
isConsumer (ImageConsumer ic)
ÇöÀç ÀÌ À̹ÌÁöÀÇ µ¥ÀÌÅÍÀÇ Àü´Þ ´ë»óÀÌ µÇ°í ÀÖ´Â ÄÁ½´¸Ó(consumer)ÀÇ ¸®½ºÆ®¿¡ ImageConsumer °¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
void |
newPixels ()
ÀÌ À̹ÌÁö µ¥ÀÌÅ͸¦ ÇöÀç ¿ä±¸ÇÏ´Â ImageConsumer ¿¡ Çȼ¿ÀÇ »õ·Î¿î ¹öÆÛ Àüü¸¦ ¼ÛÃâÇØ, ¾Ö´Ï¸ÞÀÌ¼Ç ÇÁ·¹ÀÓÀÇ ¼ÛÃâÀÌ ¿Ï·áÇÑ °ÍÀ» ÅëÁöÇÕ´Ï´Ù. |
void |
newPixels (byte[] newpix,
ColorModel newmodel,
int offset,
int scansize)
»õ·Î¿î byte ¹è¿À», ÀÌ À̹ÌÁöÀÇ Çȼ¿À» º¸°ü À¯ÁöÇϵµ·Ï(µíÀÌ) º¯°æÇÕ´Ï´Ù. |
void |
newPixels (int[] newpix,
ColorModel newmodel,
int offset,
int scansize)
»õ·Î¿î int ¹è¿À», ÀÌ À̹ÌÁöÀÇ Çȼ¿À» º¸°ü À¯ÁöÇϵµ·Ï(µíÀÌ) º¯°æÇÕ´Ï´Ù. |
void |
newPixels (int x,
int y,
int w,
int h)
ÀÌ À̹ÌÁöÀÇ µ¥ÀÌÅ͸¦ ÇöÀç ¿ä±¸ÇÏ´Â ImageConsumer ¿¡ Çȼ¿ÀÇ ±¸Çü area ¹öÆÛ¸¦ ¼ÛÃâÇØ, ¾Ö´Ï¸ÞÀÌ¼Ç ÇÁ·¹ÀÓÀÇ ¼ÛÃâÀÌ ¿Ï·áÇÑ °ÍÀ» ÅëÁöÇÕ´Ï´Ù. |
void |
newPixels (int x,
int y,
int w,
int h,
boolean framenotify)
ÀÌ À̹ÌÁöÀÇ µ¥ÀÌÅ͸¦ ÇöÀç ¿ä±¸ÇÏ´Â ImageConsumer ¿¡, Çȼ¿ÀÇ ±¸Çü area ¹öÆÛ¸¦ ¼ÛÃâÇÕ´Ï´Ù. |
void |
removeConsumer (ImageConsumer ic)
ÀÌ À̹ÌÁöÀÇ µ¥ÀÌÅÍÀÇ Àü´Þ ´ë»óÀÌ µÇ°í ÀÖ´Â ÄÁ½´¸Ó(consumer)ÀÇ ¸®½ºÆ®·ÎºÎÅÍ ImageConsumer ¸¦ »èÁ¦ÇÕ´Ï´Ù. |
void |
requestTopDownLeftRightResend (ImageConsumer ic)
ÁöÁ¤µÈ ImageConsumer ¿¡, À§¿¡¼ ¾Æ·¡, ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀÇ ¼ø¼·Î ÀÌÁ¦(¹ú½á) 1 ȸ À̹ÌÁö µ¥ÀÌÅ͸¦ ´Ù½Ã Àü´ÞÇϵµ·Ï(µíÀÌ) ¿ä±¸ÇÕ´Ï´Ù. |
void |
setAnimated (boolean animated)
animated ÆÄ¶ó¹ÌÅÍ¿¡ µû¶ó, ÀÌ ¸Þ¸ð¸® À̹ÌÁö¸¦ ¸ÖƼ ÇÁ·¹ÀÓÀÇ ¾Ö´Ï¸ÞÀÌ¼Ç ¶Ç´Â ½Ì±Û ÇÁ·¹ÀÓÀÇ Á¤Áö À̹ÌÁö·Î º¯°æÇÕ´Ï´Ù. |
void |
setFullBufferUpdates (boolean fullbuffers)
º¯°æÀÌ ÀÖ¾úÀ» ¶§´Â ¾ðÁ¦¶óµµ Çȼ¿ÀÇ ¿ÏÀüÇÑ ¹öÆÛ¸¦ ¼ÛÃâÇØ, ÀÌ ¾Ö´Ï¸ÞÀ̼ÇÈ ¸Þ¸ð¸® À̹ÌÁö¸¦ Ç×»ó °»½ÅÇÒÁö ¾î¶³Áö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. |
void |
startProduction (ImageConsumer ic)
ÀÌ À̹ÌÁö µ¥ÀÌÅ͸¦ ¿ä±¸ÇÏ´Â ÄÁ½´¸Ó(consumer)ÀÇ ¸®½ºÆ®¿¡ ImageConsumer ¸¦ Ãß°¡ÇØ, ImageConsumer ÀÎÅÍÆäÀ̽º °æÀ¯·Î Áï½Ã À̹ÌÁö µ¥ÀÌÅÍÀÇ Àü¼ÛÀ» °³½ÃÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| »ý¼ºÀÚÀÇ »ó¼¼ |
public MemoryImageSource(int w,
int h,
ColorModel cm,
byte[] pix,
int off,
int scan)
w - ±¸Çü Çȼ¿ÀÇ Æøh - ±¸Çü Çȼ¿ÀÇ ³ôÀÌcm - ÁöÁ¤µÈ ColorModelpix - Çȼ¿ÀÇ ¹è¿off - ÃÖÃÊÀÇ Çȼ¿À» ¹è¿ÀÇ ¾îµð¿¡ ÀúÀåÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼Â(offset)scan - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±âComponent.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w,
int h,
ColorModel cm,
byte[] pix,
int off,
int scan,
Hashtable props)
w - ±¸Çü Çȼ¿ÀÇ Æøh - ±¸Çü Çȼ¿ÀÇ ³ôÀÌcm - ÁöÁ¤µÈ ColorModelpix - Çȼ¿ÀÇ ¹è¿off - ÃÖÃÊÀÇ Çȼ¿À» ¹è¿ÀÇ ¾îµð¿¡ ÀúÀåÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼Â(offset)scan - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±âprops - ImageProducer °¡ À̹ÌÁö 󸮷Π»ç¿ëÇÏ´Â ÇÁ·ÎÆÛƼ ¸®½ºÆ®Component.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w,
int h,
ColorModel cm,
int[] pix,
int off,
int scan)
w - ±¸Çü Çȼ¿ÀÇ Æøh - ±¸Çü Çȼ¿ÀÇ ³ôÀÌcm - ÁöÁ¤µÈ ColorModelpix - Çȼ¿ÀÇ ¹è¿off - ÃÖÃÊÀÇ Çȼ¿À» ¹è¿ÀÇ ¾îµð¿¡ ÀúÀåÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼Â(offset)scan - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±âComponent.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w,
int h,
ColorModel cm,
int[] pix,
int off,
int scan,
Hashtable props)
w - ±¸Çü Çȼ¿ÀÇ Æøh - ±¸Çü Çȼ¿ÀÇ ³ôÀÌcm - ÁöÁ¤µÈ ColorModelpix - Çȼ¿ÀÇ ¹è¿off - ÃÖÃÊÀÇ Çȼ¿À» ¹è¿ÀÇ ¾îµð¿¡ ÀúÀåÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼Â(offset)scan - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±âprops - ImageProducer °¡ À̹ÌÁö 󸮷Π»ç¿ëÇÏ´Â ÇÁ·ÎÆÛƼ ¸®½ºÆ®Component.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w,
int h,
int[] pix,
int off,
int scan)
w - ±¸Çü Çȼ¿ÀÇ Æøh - ±¸Çü Çȼ¿ÀÇ ³ôÀÌpix - Çȼ¿ÀÇ ¹è¿off - ÃÖÃÊÀÇ Çȼ¿À» ¹è¿ÀÇ ¾îµð¿¡ ÀúÀåÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼Â(offset)scan - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±âComponent.createImage(java.awt.image.ImageProducer) ,
ColorModel.getRGBdefault()
public MemoryImageSource(int w,
int h,
int[] pix,
int off,
int scan,
Hashtable props)
w - ±¸Çü Çȼ¿ÀÇ Æøh - ±¸Çü Çȼ¿ÀÇ ³ôÀÌpix - Çȼ¿ÀÇ ¹è¿off - ÃÖÃÊÀÇ Çȼ¿À» ¹è¿ÀÇ ¾îµð¿¡ ÀúÀåÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ¿ÀÇÁ¼Â(offset)scan - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±âprops - ImageProducer °¡ À̹ÌÁö 󸮷Π»ç¿ëÇÏ´Â ÇÁ·ÎÆÛƼ ¸®½ºÆ®Component.createImage(java.awt.image.ImageProducer) ,
ColorModel.getRGBdefault() | ¸Þ¼ÒµåÀÇ »ó¼¼ |
public void addConsumer(ImageConsumer ic)
ImageProducer ³»ÀÇ addConsumer ic - ÁöÁ¤µÈ ImageConsumerImageConsumer public boolean isConsumer(ImageConsumer ic)
ImageProducer ³»ÀÇ isConsumer ic - ÁöÁ¤µÈ ImageConsumer
ImageConsumer °¡ ¸®½ºÆ®»ó¿¡ ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falseImageConsumer public void removeConsumer(ImageConsumer ic)
ImageProducer ³»ÀÇ removeConsumer ic - ÁöÁ¤µÈ ImageConsumerImageConsumer public void startProduction(ImageConsumer ic)
ImageProducer ³»ÀÇ startProduction ic - ImageConsumer ÀÎÅÍÆäÀ̽º °æÀ¯·Î ÁöÁ¤µÇ´Â ImageConsumerImageConsumer public void requestTopDownLeftRightResend(ImageConsumer ic)
ImageProducer ³»ÀÇ requestTopDownLeftRightResend ic - ÁöÁ¤µÈ ImageConsumerImageConsumer public void setAnimated(boolean animated)
ÀÌ ¸Þ¼Òµå´Â ¸ðµç ImageConsumer °¡ Á¤»óÀûÀÎ ¸ÖƼ ÇÁ·¹ÀÓ µ¥ÀÌÅ͸¦ ¹Þ´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇϱâ À§Çؼ, MemoryImageSource ÀÇ ±¸Ãà ÈÄ Áï½Ã, À̹ÌÁö°¡ »ý¼ºµÇ±â Àü¿¡ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ Ç÷¡±×¸¦ ¼³Á¤Çϱâ Àü¿¡, ImageConsumer ¸¦ ÀÌ ImageProducer ¿¡ Ãß°¡Çϸé(ÀÚ), Á¢¼ÓÇßÀ» ¶§¿¡ ÀÌ¿ë °¡´ÉÇÔ Çȼ¿ µ¥ÀÌÅÍÀÇ snapshot¸¸ÀÌ ImageConsumer ·ÎºÎÅÍ ÂüÁ¶µË´Ï´Ù.
animated - ±× À̹ÌÁö°¡ ¸ÖƼ ÇÁ·¹ÀÓ ¾Ö´Ï¸ÞÀ̼ÇÀÇ °æ¿ì´Â truepublic void setFullBufferUpdates(boolean fullbuffers)
ÀÌ ¸Þ¼Òµå´Â MemoryImageSource ÀÇ ±¸Ãà ÈÄ Áï½Ã, À̹ÌÁö°¡ ÀÛ¼ºµÇ±â Àü¿¡ ºÒ·Á °¡ ¸ðµç ImageConsumer ¿¡ Á¤»óÀûÀÎ Çȼ¿ Àü¼Û Á¤º¸¸¦ ÁÖ°í ¹Þ½À´Ï´Ù.
fullbuffers - ¿ÏÀüÇÑ Çȼ¿ ¹öÆÛ¸¦ Ç×»ó ¼ÛÃâÇÏ´Â °æ¿ì´Â truesetAnimated(boolean) public void newPixels()
newPixels(int, int, int, int, boolean) ,
ImageConsumer ,
setAnimated(boolean)
public void newPixels(int x,
int y,
int w,
int h)
x - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ Á»󱸼®ÀÇ x ÁÂÇ¥y - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ Á»󱸼®ÀÇ y ÁÂÇ¥w - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ Æøh - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ ³ôÀÌnewPixels(int, int, int, int, boolean) ,
ImageConsumer ,
setAnimated(boolean) ,
setFullBufferUpdates(boolean)
public void newPixels(int x,
int y,
int w,
int h,
boolean framenotify)
x - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ Á»󱸼®ÀÇ x ÁÂÇ¥y - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ Á»󱸼®ÀÇ y ÁÂÇ¥w - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ Æøh - ¼ÛÃâµÇ´Â Çȼ¿ÀÇ ±¸ÇüÀÇ ³ôÀÌframenotify - ÄÁ½´¸Ó(consumer)¿¡°Ô SINGLEFRAMEDONE ÅëÁö¸¦ ¼ÛÃâÇÏ´Â °æ¿ì´Â trueImageConsumer ,
setAnimated(boolean) ,
setFullBufferUpdates(boolean)
public void newPixels(byte[] newpix,
ColorModel newmodel,
int offset,
int scansize)
newpix - »õ·Î¿î Çȼ¿ ¹è¿newmodel - ÁöÁ¤µÈ ColorModeloffset - ¹è¿¿¡ÀÇ ¿ÀÇÁ¼Â(offset)scansize - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±ânewPixels(int, int, int, int, boolean) ,
setAnimated(boolean)
public void newPixels(int[] newpix,
ColorModel newmodel,
int offset,
int scansize)
newpix - »õ·Î¿î Çȼ¿ ¹è¿newmodel - ÁöÁ¤µÈ ColorModeloffset - ¹è¿¿¡ÀÇ ¿ÀÇÁ¼Â(offset)scansize - ¹è¿»ó¿¡¼ÀÇ Çȼ¿ÀÇ 1 ¿ÀÇ Å©±ânewPixels(int, int, int, int, boolean) ,
setAnimated(boolean)
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.