|
|
Исходный текст программы AlphaDemo.java
|
Оглавление |
Назад
// ==========================================
// AlphaDemo.java
//(C) Alexandr Frolov, 1998
// E-mail: frolov@glasnet.ru
// Web: http://www.glasnet.ru/~frolov
// ==========================================
import java.awt.*;
import java.applet.*;
import java.awt.image.*;
public class AlphaDemo extends Applet
{
Image img1;
Image img2;
// ============================================
// init
// ============================================
public void init()
{
img1 = getImage(getCodeBase(), "img1.jpg");
img2 = getImage(getCodeBase(), "img2.jpg");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img1, 0);
mt.addImage(img2, 0);
try
{
mt.waitForAll();
}
catch(InterruptedException ie)
{
return;
}
}
// ===========================================
// paint
// ===========================================
public void paint(Graphics g)
{
g.drawImage(img1, 0, 0, this);
g.drawImage(imgToTransparent(img2),
0, 0, this);
}
// ===========================================
// imgToTransparent
// ===========================================
Image imgToTransparent(Image imgSrc)
{
TransparentImageFilter trFilter =
new TransparentImageFilter();
ImageProducer ip = new FilteredImageSource(
imgSrc.getSource(), trFilter);
Image imTransparent = createImage(ip);
MediaTracker mt = new MediaTracker(this);
mt.addImage(imTransparent, 0);
try
{
mt.waitForAll();
}
catch(InterruptedException ie)
{
return null;
}
return imTransparent;
}
// ===========================================
// getAppletInfo
// ===========================================
public String getAppletInfo()
{
return "Name: AlphaDemo";
}
}
// ===========================================
// Class TransparentImageFilter
// ===========================================
class TransparentImageFilter
extends RGBImageFilter
{
// ===========================================
// filterRGB
// ===========================================
public int filterRGB(int x, int y, int nRGB)
{
int nAlpha = 0x80;
return((nAlpha << 24) | (nRGB & 0xffffff));
}
}
|
|
|