Java 实现的简单图片缩放小程序
来源:互联网 发布:linux下oracle启动监听 编辑:程序博客网 时间:2024/06/06 19:08
package test;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
public class TestFileDialog
{
private Frame f = new Frame("图片缩放程序");
private FileDialog d1 = new FileDialog(f, "选择一张图片", FileDialog.LOAD);
private FileDialog d2 = new FileDialog(f, "选择保存图片的路径", FileDialog.SAVE);
private Button b1 = new Button("打开图片");
private Button b2 = new Button("保存图片");
private Button b3 = new Button("缩放图片");
private TextField height = new TextField(5);
private TextField width = new TextField(5);
private Panel pl = new Panel();
//定义一个BufferedImage对象,保存图片
private BufferedImage image = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
private imageCanvas canvas = new imageCanvas();
private Image srcImage;
private Graphics g = image.getGraphics();
public void init()throws Exception
{
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
image = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
image.flush();
g = image.getGraphics();
d1.setVisible(true);
srcImage = ImageIO.read(new File(d1.getDirectory() + d1.getFile()));
g.drawImage(srcImage,0,0, null);
canvas.repaint();
}
catch (Exception ee)
{
ee.printStackTrace();
}
}
});
b2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
d2.setVisible(true);
ImageIO.write(image, "jpeg", new File(d2.getDirectory() + d2.getFile()));
height.setText("");
width.setText("");
}
catch (Exception ee)
{
ee.printStackTrace();
}
}
});
b3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int WIDTH = Integer.parseInt(width.getText());
int HEIGHT = Integer.parseInt(height.getText());
image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
g = image.getGraphics();
g.drawImage(srcImage, 0, 0,WIDTH,HEIGHT, null);
canvas.repaint();
}
});
pl.add(b1);
pl.add(b2);
pl.add(b3);
pl.add(width);
pl.add(height);
canvas.setPreferredSize(new Dimension(800, 600));
f.add(canvas);
f.add(pl, BorderLayout.SOUTH);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
f.pack();
f.setVisible(true);
}
public static void main(String[] args)throws Exception
{
new TestFileDialog().init();
}
class imageCanvas extends Canvas
{
//重写Canvas的paint方法
public void paint(Graphics g)
{
//将image绘制到该组件上
g.drawImage(image, 0, 0, null);
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
public class TestFileDialog
{
private Frame f = new Frame("图片缩放程序");
private FileDialog d1 = new FileDialog(f, "选择一张图片", FileDialog.LOAD);
private FileDialog d2 = new FileDialog(f, "选择保存图片的路径", FileDialog.SAVE);
private Button b1 = new Button("打开图片");
private Button b2 = new Button("保存图片");
private Button b3 = new Button("缩放图片");
private TextField height = new TextField(5);
private TextField width = new TextField(5);
private Panel pl = new Panel();
//定义一个BufferedImage对象,保存图片
private BufferedImage image = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
private imageCanvas canvas = new imageCanvas();
private Image srcImage;
private Graphics g = image.getGraphics();
public void init()throws Exception
{
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
image = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
image.flush();
g = image.getGraphics();
d1.setVisible(true);
srcImage = ImageIO.read(new File(d1.getDirectory() + d1.getFile()));
g.drawImage(srcImage,0,0, null);
canvas.repaint();
}
catch (Exception ee)
{
ee.printStackTrace();
}
}
});
b2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
d2.setVisible(true);
ImageIO.write(image, "jpeg", new File(d2.getDirectory() + d2.getFile()));
height.setText("");
width.setText("");
}
catch (Exception ee)
{
ee.printStackTrace();
}
}
});
b3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int WIDTH = Integer.parseInt(width.getText());
int HEIGHT = Integer.parseInt(height.getText());
image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
g = image.getGraphics();
g.drawImage(srcImage, 0, 0,WIDTH,HEIGHT, null);
canvas.repaint();
}
});
pl.add(b1);
pl.add(b2);
pl.add(b3);
pl.add(width);
pl.add(height);
canvas.setPreferredSize(new Dimension(800, 600));
f.add(canvas);
f.add(pl, BorderLayout.SOUTH);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
f.pack();
f.setVisible(true);
}
public static void main(String[] args)throws Exception
{
new TestFileDialog().init();
}
class imageCanvas extends Canvas
{
//重写Canvas的paint方法
public void paint(Graphics g)
{
//将image绘制到该组件上
g.drawImage(image, 0, 0, null);
}
}
}
0 0
- Java 实现的简单图片缩放小程序
- 一个简单的实现图片缩放的程序
- 简单的java图片缩放代码
- java有关图片缩放的实现
- java 实现图片的缩放、翻转
- java实现图片的缩放问题
- 用java实现图片的缩放
- 实现图片的缩放
- Java的图片缩放
- Java的图片缩放
- java图片的缩放
- java语言实现月食过程的简单小程序
- 简单的java小程序???
- 图形自动随窗口缩放的java小程序
- 通过pyrUp和pyrDown实现图像缩放的简单程序
- [Java小程序] 实现简单计算器
- Java 实现简单网页小爬虫程序
- Java实现简单的日历小程序之Java图形界面开发小日历
- 用docker编译android源码
- 荣辱与善恶
- 多线程系列博客
- 欢迎使用CSDN-markdown编辑器
- web前端面试题目汇总
- Java 实现的简单图片缩放小程序
- C++继承与派生
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- MySQL主从复制读写分离
- 练习
- django学习4 get post 表单
- 重命名表空间+删除表空间
- [翻译] Storm和Spark Streaming的横向比较
- 对称加密与非对称加密