资源简介
java 显示一个图像的轮廓
java 显示一个图像的轮廓
java 显示一个图像的轮廓
代码片段和文件信息
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.awt.image.ConvolveOp;
import java.awt.image.Kernel;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JPanel;
public class ImageProfile extends Jframe {
private JPanel contentPane;
private BorderLayout borderLayout1 = new BorderLayout();
// 添加的组件
private JPanel jpanel = new JPanel();
private JButton jb1 = new JButton();
private JButton jb2 = new JButton();
private GridLayout gridLayout = new GridLayout();
PanelDemo_1 pd = new PanelDemo_1();
public void initial() {
// 设置各组件的属性
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(350 560));
this.settitle(“图像的锐化与模糊处理演示“);
jb1.setFont(new Font(“Dialog“ Font.BOLD 13));
jb1.setText(“Image Edge“);
jb1.addActionListener(new ActionListener() {// 添加事件监听器
public void actionPerformed(ActionEvent e) {
jb1_actionPerformed(e);
}
});
jb2.setFont(new Font(“Dialog“ Font.BOLD 13));
jb2.setText(“Reset“);
jb2.addActionListener(new ActionListener() {// 添加事件监听器
public void actionPerformed(ActionEvent e) {
jb2_actionPerformed(e);
}
});
jpanel.setLayout(gridLayout);
jpanel.add(jb1 null);
jpanel.add(jb2 null);
contentPane.add(jpanel BorderLayout.SOUTH);
// 在窗口中部添加PanelDemo_1面板
contentPane.add(pd BorderLayout.CENTER);
this.setVisible(true);
}
public void jb1_actionPerformed(ActionEvent e) {
pd.detectImageEgde();// 显示图像轮廓
pd.repaint();// 绘制显示图像轮廓后的图像
}
public void jb2_actionPerformed(ActionEvent e) {
pd.reset();// 缓冲区图像设为源图像
pd.repaint();// 绘制源图像
}
public static void main(String[] args) {
new ImageProfile().initial();
}
}
class PanelDemo_1 extends JPanel {
private BorderLayout borderLayout = new BorderLayout();
// 定义新属性
Image image;// 源图像
BufferedImage bi1;// 缓冲区图像
BufferedImage bi2;// 缓冲区图像
BufferedImage bi3;// 缓冲区图像
Graphics2D g2d;// 图像上下文
public PanelDemo_1() {
this.setLayout(borderLayout);
loadImage();// 加载图片
createBufferedImage();// 创建缓冲区图像
bi1 = bi2;
this
.setSize(new Dimension(image.getWidth(this) image
.getHeight(this)));// 设置面板大小
}
public void loadImage() {
// 加载图片
image = this.getToolkit().getImage(
//这里读者如果不填写一个存在的图片名,程序会抛出空指针异常
ClassLoader.getSystemResource(“chaojikatong.jpg“));// 创建Image对象
MediaTracker mt = new MediaTracker(this);
mt.addImage(image 0);
try {
mt.waitForAll();
} catch (Exception e) {
e.printStackTrace();// 表示加载失败
}
if (image.getWidth(this) == -1) {
System.out.println(“不能创建图象“);// 如果不存在退出程序
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4599 2010-01-06 19:21 ImageProfile.java
文件 79204 2010-06-18 09:14 Java.jpg
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
川公网安备 51152502000135号
评论
共有 条评论