⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imageblend.java

📁 用纯java技术实现了对图像锐化、模糊、边缘、灰度等操作功能
💻 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 + -