package com.zakisoft.frame;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.util.regex.Pattern;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class PhotoFrame extends JFrame {
private static final long serialVersionUID = -2216276219179107707L;
private Container con;
private ZPanel zPanel;
private JScrollPane imgSp;
private Box opBox;
private JLabel brighterLal;
private JTextField brighterTxt;
private JButton brighterBtn;
private JButton dlurBtn;
private JButton sharpBtn;
private JButton savePicBtn;
private JButton edgeBtn;
private PicUtil picUtil;
private SaveComPic savePic;
private BufferedImage originalPic;
private PhotoFrame() {
con = getContentPane();
picUtil = new PicUtil();
savePic = new SaveComPic();
opBox = Box.createHorizontalBox();
brighterLal = new JLabel("变量程度(0-255): ");
brighterTxt = new JTextField();
brighterBtn = new JButton("图像变亮");
brighterBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (isNumeric(brighterTxt.getText())) {
int brighter = Integer.parseInt(brighterTxt.getText());
if (0 <= brighter && 255 >= brighter) {
picUtil.setBrighter(brighter);
originalPic = zPanel.getImage();
originalPic = picUtil.getPicture(originalPic);
zPanel.setImage(originalPic);
zPanel.repaint();
System.out.println("图像变亮");
repaint();
validate();
}
}
}
});
dlurBtn = new JButton("图片钝化");
dlurBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
originalPic = zPanel.getImage();
originalPic = picUtil.getDlurPicture(originalPic);
zPanel.setImage(originalPic);
zPanel.repaint();
System.out.println("图片钝化");
repaint();
validate();
}
});
sharpBtn = new JButton("图片锐化");
sharpBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
originalPic = zPanel.getImage();
originalPic = picUtil.getSharperPicture(originalPic);
zPanel.setImage(originalPic);
zPanel.repaint();
System.out.println("图片锐化");
repaint();
validate();
}
});
edgeBtn = new JButton("边沿检测");
edgeBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
originalPic = zPanel.getImage();
originalPic = picUtil.getPicEdge(originalPic);
zPanel.setImage(originalPic);
zPanel.repaint();
System.out.println("边缘检测");
repaint();
validate();
}
});
savePicBtn = new JButton("保存图片");
savePicBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
savePic.saveImage(zPanel);
}
});
opBox.add(brighterLal);
opBox.add(brighterTxt);
opBox.add(edgeBtn);
opBox.add(Box.createHorizontalStrut(5));
opBox.add(savePicBtn);
opBox.add(Box.createHorizontalStrut(50));
zPanel = new ZPanel();
zPanel.setImagePath("C://1.jpg");
zPanel.setPreferredSize(new Dimension(zPanel.getImgWidth(), zPanel
.getImgHeight()));
imgSp = new JScrollPane();
imgSp.setViewportView(zPanel);
imgSp
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
imgSp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
con.add(opBox, BorderLayout.NORTH);
con.add(imgSp, BorderLayout.CENTER);
finalSetting();
}
private boolean isNumeric(String str) {
if ("".equals(str.trim())) {
return false;
}
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
private void finalSetting() {
setTitle("ZakiSoft ZFileRenamerV0.2");
Image image = Toolkit.getDefaultToolkit().getImage(
this.getClass().getResource("/title.gif"));
setIconImage(image);
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
int frameH = getHeight();
int frameW = getWidth();
setLocation((screenWidth - frameW) / 2 - 250,
(screenHeight - frameH) / 2 - 250);
setSize(600, 500);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new PhotoFrame();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Java图像图片 边缘检测
共18个文件
class:10个
java:4个
gif:2个
需积分: 50 11 下载量 11 浏览量
2019-03-18
02:26:29
上传
评论
收藏 20KB ZIP 举报
温馨提示
NULL 博文链接:https://javapub.iteye.com/blog/685468
资源推荐
资源详情
资源评论
收起资源包目录
ZPhotoer.zip (18个子文件)
ZPhotoer
.project 384B
src
com
zakisoft
frame
PhotoFrame.java 5KB
ZPanel.java 2KB
PicUtil.java 3KB
SaveComPic.java 2KB
tool
title.gif 601B
.classpath 232B
bin
com
zakisoft
frame
PhotoFrame.class 6KB
SaveComPic.class 3KB
SaveComPic$1.class 981B
ZPanel.class 2KB
PhotoFrame$2.class 2KB
PhotoFrame$4.class 2KB
PhotoFrame$3.class 2KB
PhotoFrame$1.class 2KB
PicUtil.class 3KB
PhotoFrame$5.class 965B
tool
title.gif 601B
共 18 条
- 1
资源评论
weixin_38669628
- 粉丝: 383
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功