H 第9章Java在多媒体中的应用 第9章Java在多媒体中的应用 9,1利用AWT绘图 92 Graphics类的使用 93Font类的使用 94图像处理 95动画图像处理
第9章 Java在多媒体中的应用 第9章 Java在多媒体中的应用 9.1 利用AWT绘图 9.2 Graphics类的使用 9.3 Font类的使用 9.4 图像处理 9.5 动画图像处理
H 第9章Java在多媒体中的应用 91利用AWT绘图 这一节中我们主要介绍如何使用Java语言提供的 AWT包绘图。 Java. awt包中提供了用于绘图的API,我 们通常称之为2DAPI。不要以为只有设计绘图程序或 游戏软件才会用到Java2D,其实Java2D的用途可能远 比你想象的更广泛
第9章 Java在多媒体中的应用 9.1 利用AWT绘图 这一节中我们主要介绍如何使用Java语言提供的 AWT包绘图。java.awt包中提供了用于绘图的API,我 们通常称之为2D API。不要以为只有设计绘图程序或 游戏软件才会用到Java 2D,其实Java 2D的用途可能远 比你想象的更广泛
A第9章JV在多媒体中的应用 其实,只要你的程序有GUI,就很可能会用到Java2D。 因为AWT和 Swing的组件常常无法完全适合我们,这个 时候自己绘制一部分的GU就有绝对的必要。甚至, 我们还可以用Java2D来绘制自己的组件。实际上, AWT和 Swing组件都是透过Java2D来进行绘制的
第9章 Java在多媒体中的应用 其实,只要你的程序有GUI,就很可能会用到Java 2D。 因为AWT和Swing的组件常常无法完全适合我们,这个 时候自己绘制一部分的GUI就有绝对的必要。甚至, 我们还可以用Java 2D来绘制自己的组件。实际上, AWT和Swing组件都是透过Java 2D来进行绘制的
H 第9章Java在多媒体中的应用 Java2DAPI增强了AWT的图形、文本和图像功能, 可以开发更为强大的用户接口和新型的Java应用程序。 除了更为强大的图形、字体和图像API外,Java2DAPI 还改进了颜色的定义与复合及对任意几何形状和文本 的选中检测,并为打印机和显示设备提供了统一的绘 制模式。Java2DAPI还可以创建高级图形库,并可创 建图像和图形文件读/写过滤器。当与Java媒体框架 (JMF)和其他Java媒体应用程序配合使用时,Java2D API还可用来创建和显示动画和其他多媒体演示稿
第9章 Java在多媒体中的应用 Java 2D API增强了AWT的图形、文本和图像功能, 可以开发更为强大的用户接口和新型的Java应用程序。 除了更为强大的图形、字体和图像API外,Java 2D API 还改进了颜色的定义与复合及对任意几何形状和文本 的选中检测,并为打印机和显示设备提供了统一的绘 制模式。Java 2D API还可以创建高级图形库,并可创 建图像和图形文件读/写过滤器。当与Java媒体框架 (JMF) 和其他Java媒体应用程序配合使用时,Java 2D API还可用来创建和显示动画和其他多媒体演示稿
H 第9章Java在多媒体中的应用 到底Java2DAPI有多强大?这一点我们可以通过 SUN JDK包中提供的例程来了解。在命令行窗口下输 入: c: >cd jdk1 2 demojfcwava2D c: jdk1. 2 \demoljfc Java2D>java -classpath Java2Demo jar Java2Demo 或 c: jdk1. 2 \demoljfc Java2D>appletviewer java2demo. html 看到了吗?Java2D神奇的威力
第9章 Java在多媒体中的应用 到底Java 2D API有多强大?这一点我们可以通过 SUN JDK包中提供的例程来了解。在命令行窗口下输 入: c:\>cd \jdk1.2\demo\jfc\Java2D c:\jdk1.2\demo\jfc\Java2D>java -classpath Java2Demo.jar Java2Demo 或 c:\jdk1.2\demo\jfc\Java2D>appletviewer java2demo.html 看到了吗?Java 2D神奇的威力!
H 第9章Java在多媒体中的应用 下面我们来学习如何使用Java2D绘图。上面看到 的例子虽然功能十分强大,但是它的实现非常复杂。 下面,我们先从简单一点的入手。 从 java.awt. Component类(所有窗口对象的基类)继 承的类提供了一个名为 paint(的方法,在需要重新绘制 组件时,可调用该方法 pain0方法只有一个参数,该参数是 Graphics类的 实例。如果在某个继承了 Component i的类中覆盖了该方 法,那么就可以使用该方法来控制在控制区域着何种 颜色。例如,下面的类创建了一个带有蓝背景的面板
第9章 Java在多媒体中的应用 下面我们来学习如何使用Java 2D绘图。上面看到 的例子虽然功能十分强大,但是它的实现非常复杂。 下面,我们先从简单一点的入手。 从java.awt.Component类(所有窗口对象的基类)继 承的类提供了一个名为paint()的方法,在需要重新绘制 组件时,可调用该方法。 paint()方法只有一个参数,该参数是Graphics类的 实例。如果在某个继承了Component的类中覆盖了该方 法,那么就可以使用该方法来控制在控制区域着何种 颜色。例如,下面的类创建了一个带有蓝背景的面板
H 第9章Java在多媒体中的应用 例91 BluePanel. java import java. awt. class blue Panel extends panel i public static void main(String[] args) i Frame f= new framed BluePanel p= new bluePanelo f. add(p) f setsize(300, 100) f set Visible(true)
第9章 Java在多媒体中的应用 例9.1 BluePanel.java import java.awt.*; class BluePanel extends Panel { public static void main(String[] args) { Frame f = new Frame(); BluePanel p = new BluePanel(); f.add(p); f.setSize(300,100); f.setVisible(true);}
H 第9章Java在多媒体中的应用 Invoked when the panel needs to be repainted oublic void paint( graphics g) i /Get the rectangle that represents the viewable area // of the panel Rectangle rect=g get Clip bounds Set the context to paint in a pre-defined color g setColor( Color blue) / Fill the rectangle with the current color g fillRect(rect. x, rect y, rect width, rect height); i }程序运行结果如图9.1所示
第9章 Java在多媒体中的应用 // Invoked when the panel needs to be repainted public void paint(Graphics g) { // Get the rectangle that represents the viewable area // of the panel Rectangle rect = g.getClipBounds(); // Set the context to paint in a pre-defined color g.setColor(Color.blue); // Fill the rectangle with the current color g.fillRect(rect.x, rect.y, rect.width, rect.height);} } 程序运行结果如图9.1所示
H 第9章Java在多媒体中的应用 X 图91
第9章 Java在多媒体中的应用 图 9.1
H 第9章Java在多媒体中的应用 92 Graphics类的使用 Java. aw中提供了一系列的类用于绘制图形。其中, Color类包含了编辑颜色的方法和常量;Font类包含了 编辑字体的方法和常量; Fontmetrics类包含了获取字 体信息的方法; Polygon类包含了创建多边形的方法; Toolkit类提供了从系统获得图形信息的方法,例如可 显示的字体集和屏幕分辨率等等; Graphic类包含了绘 制字符串、线条以及各种几何图形的方法
第9章 Java在多媒体中的应用 9.2 Graphics类的使用 java.awt中提供了一系列的类用于绘制图形。其中, Color类包含了编辑颜色的方法和常量;Font类包含了 编辑字体的方法和常量;FontMetrics类包含了获取字 体信息的方法;Polygon类包含了创建多边形的方法; Toolkit类提供了从系统获得图形信息的方法,例如可 显示的字体集和屏幕分辨率等等;Graphics类包含了绘 制字符串、线条以及各种几何图形的方法