窗体设置为无框: setUndecorated(true);
截屏幕
Robot robot=new Robot();
int width =Toolkit .getDefaultToolkit().getScreenSize().width;
int height=Toolkit .getDefaultToolkit().getScreenSize().height;
Rectangle rect=new Rectangle(0, 0,width,height);
BufferImage screenImage =robot.createScreenCapture(rect);
在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray
前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;
后者可以用来在系统托盘区创建一个托盘程序
-
- if (Desktop.isDesktopSupported()) {
- desktop = Desktop.getDesktop();
- }
- if (SystemTray.isSupported()) {
- static SystemTray st = SystemTray.getSystemTray();
- Image image = Toolkit.getDefaultToolkit().getImage("test/black_dragon1.png");
- PopupMenu pm=new PopupMenu();
- TrayIcon ti = new TrayIcon(image, "Desktop Demo Tray", pm);
- try {
- st.add(ti);
- } catch (AWTException ex) {
- ex.printStackTrace();
- }
- }
面板绘图
例子:new JPanel() {
public void paint(Graphics g) {
super.paint(g);
Rectangle rct = State.currentState.getSelectedRect();//获取状态。。。处理在State类模式中
if (rct != null) {
Color oldColor = g.getColor();
// 用红色绘制出选中矩形
g.setColor(Color.RED);
g.drawRect(rct.x, rct.y, rct.width, rct.height);
}
}
};
图形缩放:
public class ImageCut {
/**
* 缩放图像
*
* @param srcImageFile
* 源图像文件地址
* @param result
* 缩放后的图像地址
* @param scale
* 缩放比例
* @param flag
* 缩放选择:true 放大; false 缩小;
*/
public static void scale(String srcImageFile, String result, int scale, boolean flag) {
try {
BufferedImage src = ImageIO.read(new File(srcImageFile)); // 读入文件
int width = src.getWidth(); // 得到源图宽
int height = src.getHeight(); // 得到源图长
if (flag) { // 放大
width = width * scale;
height = height * scale;
} else { // 缩小
width = width / scale;
height = height / scale;
}
Image image = src.getScaledInstance(width, height, Image.SCALE_DEFAULT); //返回图像的缩放版本。默认的图像缩放算法
BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 预定义一个图像
Graphics g = tag.getGraphics(); //返回Graphics,可用于绘制预定义的图像。
g.drawImage(image, 0, 0, null); // 用图像的缩放版本去绘制缩放后的图
g.dispose(); //释放此图形的上下文以及它使用的所有系统资源。调用 dispose 之后,就不能再使用 Graphics 对象
ImageIO.write(tag, "JPEG", new File(result)); // 输出到文件流
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ImageCut.scale("1.jpg","放大.jpg",4,true);
}
图形裁剪:
CropImageFilter 用于裁剪图像的 ImageFilter 类。此类扩展了基本 ImageFilter 类,可提取现有 Image 中的给定矩形区域,为包含刚提取区域的新图像提供源。也就是它要与 FilteredImageSource 对象结合使用,以生成现有图像的裁剪版本。
CropImageFilter cropFilter = new CropImageFilter(int x,int y ,int w,int h );//按指定 x、y、w 和 h 参数从源 Image 提取绝对矩形区域
Image image = Toolkit.getDefaultToolkit().createImage( new FilteredImageSource(image.getSource(), cropFilter));
(其他操作同图形缩放)
图像类型转换
只需要把 ImageIO.write(tag, "JPG", new File(result)); 中的“JPG”改为想要的类型即可
图像变黑白
BufferedImage src = ImageIO.read(new File(srcImageFile)); // 读入文件
src = new ColorConvertOp( ColorSpace.getInstance( ColorSpace.CS_GRAY, null )).filter(src, null);
ImageIO.write(src, "JPEG", new File(result)); //输出文件
关于图形处理的java.awt.image的各种类查看
http://www.xasxt.com/index.php/article/jiaocheng/shipin_1328.html
分享到:
相关推荐
javaswing图形处理小程序实例+源码
《Java Swing图形界面开发与案例详解》全书共20章,其中第1~2章主要介绍有关Swing的基础知识,包括Swing的基本概述、如何使用IDE开发Swing程序;第3~15章结合众多实例和问题介绍最常用、最有用的组件及其应用方法...
如果图形界面中包括了事件处理,那么还需要导入事件处理包: import javax.swing.event.*; 选择界面风格 Swing允许选择程序的图形界面风格常用的有java风格,windows风格等 下面的代码用于选择图形界面风格,这里...
第九章 Swing图形用户界面9.1 概述9.2 容器组件9.3 基本组件9.4 布局管理器9.5 事件处理模型9.6 本章小结9.1 概述图形用户界面(GUI
9.1 Java Swing概述 9.2 JFrame窗口 9.3布局管理器 9.4 常用控件 9.5事件处理机制 9.6 JDialog对话框 9.7 应用实例:打地鼠小游戏 第9章Java Swing图形用户界面 第9章Java-Swing图形用户界面-Java面向对象程序设计...
1.熟悉Java图形用户界面的设计原理和程序结构; 2.能设计符合问题要求的图形用户界面程序; 3.熟悉Java AWT、swing组件的功能; 4.掌握常用组件的事件接口; 5.会应用AWT、swing组件进行应用程序设计。 二、实验内容...
本教程内容分两天部分,第一部分主要是图形设计基本知识,主要介绍了JAVA图形、颜色和字体、图像过滤、继承的事件处理、授权事件模型、无鼠标操作打英拖放技术、橡皮带技术、又缓冲技术、图形动画等。第二部分是关于...
java图形用户界面,Applet与图形处理
界面友好美观:采用JavaSwing图形界面设计前端页面,具有良好的视觉效果,易于操作。 功能全面:系统具有图书管理、读者管理、借阅管理、罚款管理等功能,能够方便地管理图书馆日常运营。 权限管理完善:系统支持...
本项目是基于Swing和JDBC开发的图形界面桌面应用,涵盖了J2SE的绝大部分基础知识,通过这个项目能运用和锻炼几乎大部分的J2SE知识和技能。 基础内容: 面向对象 字符串数字 日期 中级内容: 异常 ,集合,JDBC,...
Java图形图像处理通常使用Java的图形用户界面(GUI)库,如Swing或JavaFX,实现图像处理的用户界面。 图像处理功能通常通过Java图形库(如AWT、Java 2D、Java Advanced Imaging API等)实现,利用这些库提供的各种...
AWT-SWT-Swing AWT-SWT-Swing AWT-SWT-Swing AWT-SWT-Swing 大比较之一:模型设计与实 现 总的来说 Swing/AWT 和 SWT 在事件处理机制上是类似的,窗口组件的树状结构也是类似的。图形用户界面系统在事件处理设计上有...
Java语言程序设计(Swing组件java图形、多线程与异常处理).ppt
AWT(Abstract Window Toolkit)是Java提供的一套用于创建图形用户界面(GUI)的原生窗口工具包。它是Java最早的GUI工具包,提供了一系列的类和方法,用于创建窗口、按钮、文本框等GUI组件,并处理用户的输入事件。 ...
程序通过继承JFrame类来创建窗口,实现了ActionListener接口来处理定时器事件。在生成鱼的方法中,根据鼠标点击的位置随机生成小鱼或大鱼,并在窗口中显示。在定时器事件的处理方法中,通过绘制背景、移动鱼和鱼食,...
11 2.2 MVC体系结构 12 2.2.1 模型 12 2.2.2 视图 12 2.2.3 控制器 13 第三章 图形图像软件的设计 14 3.1图形处理模块的设计 14 3.1.1结构设计 14 3.1.2功能描述 14 3.1.3图形处理模块结构图 14 3.1.4主要类设计 15 ...
章节目标: 掌握图形用户界面事件处理机制 掌握Swing实现事件处理 掌握匿名类、内部类 实现多监听器
**Java毕业设计:Java图形图像处理系统** 本文档及所附系统为Java毕业设计的成果,旨在提供一个基于Java的图形图像处理解决方案。文档详细介绍了系统的设计思路、功能实现及关键技术,包括图像读取、显示、编辑和...
学员通过对该项目整体框架搭建和对图片列表加载、图片展示、图片切换、图片删除功能的设计与实现,训练了学员对GUI容器、布局、事件处理、JTree控件、 菜单、对话框等知识点的掌握。 本项目主要包括项目开发环境...
NULL 博文链接:https://hnulanwei.iteye.com/blog/1907560