public abstract void setComposite(Composite comp)
class Canvas extends JPanel
{
public void paint(Graphics g)
{
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
// 设置图像的Alpha合成规则
g2.setComposite(AlphaComposite.SrcOver.derive((float) alpha / 100F));
g2.drawImage(image,150,35,this);
}
}
class ThreadPaint extends Thread
{
public void run()
{
super.run();
while(true)
{
if(alpha<100)
alpha += 0.5;
repaint();
try
{
Thread.sleep(50);
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
API介绍:
setComposite
public abstract void setComposite(Composite comp)
为 Graphics2D 上下文设置 Composite。 Composite 用于所有绘制方法中,如 drawImage、drawString、draw 和 fill。
它指定新的像素如何在呈现过程中与图形设备上的现有像素组合。
如果此 Graphics2D 上下文正在向显示屏幕绘制 Component,并且 Composite 是自定义对象,而不是 AlphaComposite 类的实例,
那么如果有安全管理器,就可以使用 AWTPermission(“readDisplayPixels”) 权限调用其 checkPermission 方法。
参数:
comp - 用于呈现的 Composite 对象
抛出:
SecurityException - 如果自定义的 Composite 对象被用于呈现到屏幕,并设置了安全管理器,
且其 checkPermission 方法不允许该操作。
另请参见:
Graphics.setXORMode(java.awt.Color), Graphics.setPaintMode(), getComposite(),
AlphaComposite, SecurityManager.checkPermission(java.security.Permission), AWTPermission