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

📄 picturefilterpanel.java

📁 java程序中关于多媒体编程 既有文件说明 更有例子 希望大家可以一起学习交流
💻 JAVA
字号:
package picturefilter;import java.awt.*;import java.awt.image.*;import java.awt.geom.*;import javax.swing.*;import javax.swing.JPanel;/** * <p>Title: PictureFilter</p> * <p>Description: 应用Java 2D API进行图像过滤处理</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: 中国农业大学计算机系</p> * @author 彭  波 * @version 1.0 */public class PictureFilterPanel extends JPanel {  private Image img;  public int w;  public int h;  float[] elements = {0.0f, -1.0f, 0.0f,-1.0f, 4.f, -1.0f,0.0f, -1.0f, 0.0f};  public PictureFilterPanel(){    img = getToolkit().getImage(ClassLoader.getSystemResource("boy.gif"));        MediaTracker mt = new MediaTracker(this);        //加载图片        mt.addImage(img,0);        try{        //判断图片是否完全加载          mt.waitForAll();        }catch(Exception err){          err.printStackTrace();        }    w = img.getWidth(this);    h = img.getHeight(this);    this.setSize(w*2,h);  }  public void paintComponent(Graphics g){    super.paintComponent(g);    BufferedImage bi = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);    Graphics2D big = bi.createGraphics();    big.drawImage(img,0,0,this);    BufferedImageOp biop = null;    AffineTransform at = new AffineTransform();    BufferedImage bimg = new BufferedImage(w,h, BufferedImage.TYPE_INT_RGB);    Kernel kernel = new Kernel(3,3,elements);    ConvolveOp cop = new ConvolveOp(kernel,ConvolveOp.EDGE_NO_OP,null);    cop.filter(bi,bimg);    biop = new AffineTransformOp(at,AffineTransformOp.TYPE_NEAREST_NEIGHBOR);    Graphics2D g2d = (Graphics2D)g;    g2d.drawImage(img, 0, 0, w, h, null);    g2d.drawImage(bimg, w, 0, w, h, null);//    g2d.drawImage(bimg,biop,0,0);//    g2d.drawImage(bimg, 0, 0, null);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -