📄 imageblend.java
字号:
package imageproc;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.image.*;
/**
* <p>Title: ImageProc Demo</p>
* <p>Description: this is a ImageProc demo</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class ImageBlend extends Applet
{
////////////////////
int windowWidth,windowHeight;
Image image_src,image_dst;
Image imageResult,offScreenImage;
Graphics offScreen;
int imageWidth,imageHeight;
int srcData[],dstData[],result[];
MemoryImageSource memoryImage;
public void init()
{
initForm();
usePageParams();
initParameters();
}
private final String labelParam="label";
private final String backgroundParam="background";
private final String foregroundParam="foreground";
private void usePageParams(){}
// private Color stringToColor(String paramValue){}
Label label1=new Label();
void initForm(){}
public String[][] getParameterInfo()
{
return null;
}
public void initParameters()
{
// windowWidth=Integer.parseInt(getParameter("width"));
// windowHeight=Integer.parseInt(getParameter("height"));
this.setSize(400,300);
windowWidth=this.getWidth();
windowHeight=this.getHeight();
System.out.println(windowWidth+"ggggggggggg"+windowHeight);
offScreenImage=createImage(windowWidth,windowHeight);
try{
// if(offScreenImage!=null)
offScreen=offScreenImage.getGraphics();
}catch(NullPointerException e)
{System.out.println(e.getMessage());
System.out.println(e.getCause());
}
System.out.println(offScreenImage);
srcData=new int[imageWidth*imageHeight];
dstData=new int[imageWidth*imageHeight];
result=new int[imageWidth*imageHeight];
initImage();
blending();
memoryImage=new MemoryImageSource(imageWidth,imageHeight,
ColorModel.getRGBdefault(),result,0,imageWidth);
imageResult=createImage(memoryImage);
draw_groupBox_border(offScreen);
}
public Image loadingImage(String imageFile,String status)
{
Image image;
MediaTracker mediaTracker=new MediaTracker(this);
showStatus(status);
image=getImage(getCodeBase(),imageFile);
mediaTracker.addImage(image,0);
try{
mediaTracker.waitForID(0);
}catch(InterruptedException e){}
showStatus("");
return (image);
}
public void initImage()
{
image_src=loadingImage("1.jpg","kkl");
image_dst=loadingImage("2.jpg","fff");
PixelGrabber pixelGrabber_1=new PixelGrabber(image_src,0,0,imageWidth,
imageHeight,srcData,0,imageWidth);
PixelGrabber pixelGrabber_2=new PixelGrabber(image_dst,0,0,imageWidth,
imageHeight,dstData,0,imageWidth);
try{
pixelGrabber_1.grabPixels();
pixelGrabber_2.grabPixels();
}catch(InterruptedException e){}
}
public void blending()
{
AlphaCreator.createAlpha(this.srcData,64);
PixelBlender pb=new PixelBlender(PixelBlender.SFACTOR_DST_COLOR,
PixelBlender.DFACTOR_255_MINUS_SRC_AlPHA);
pb.blend(srcData,dstData,imageWidth,this.result);
}
public void paint(Graphics g)
{
offScreen.drawImage(imageResult,15,32,this);
g.drawImage(offScreenImage,0,0,this);
}
public void draw_groupBox_border(Graphics g)
{}
public void update(Graphics g)
{}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -