ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:410.46KB ,
资源ID:5195684      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5195684.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA 图形图像与多媒体详解.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA 图形图像与多媒体详解.docx

1、JAVA 图形图像与多媒体详解第7章 图形、图像与多媒体7.1 绘图基础要在平面上显示文字和绘图,首先要确定一个平面坐标系。Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的左上角。一个坐标点(x,y)对应屏幕窗口中的一个像素,必须是整数。如图7.1所示。窗口大小由超文本文件中的width和height指定。例如,以下超文本确定窗口宽为250像素,高位400像素: 7.1.1 Graphics类的基本功能在java.awt包中,类Graphics提供的功能有:建立字体、设定显示颜色、显示图像和文本,绘制和填充各种几何图形。可以从图形对象或使用Compone

2、nt的getGraphics()方法得到Graphics对象。Graphics2D类继承Graphics类,并且增加了许多状态属性,使应用程序可以绘制出更加丰富多彩的图形。在某个组件中绘图,一般应该为这个组件所需的子类重写paint(0方法,在该重写的方法中进行绘图。但要在JComponent子类的组件中绘图,应重写paintComponent()方法,在该方法中进行绘图。例如,继承定义一个文本区子类,要在这样的文本区对象中绘图,就应给这个文本区子类重写paintComponent()方法。系统自动为程序通过图形对象,并以参数g传递给paint()方法和paintComponent()方法。7

3、.1.2 字型和颜色显示文字的方法主要有三种:(1) drawString(String str,int x,int y),在指定的位置显示字符串。(2) drawChar(char date,int offset,int length,int x,int y),在指定的位置显示字符数组中的文字,从字符数组的offset开始,最多显示length个字符。(3) drawBytes(char date,int offset,int length,int x,int y),在指定的位置显示字节数组中的文字,从字节数组的offset开始,最多显示length个字符。这里给出的显示位置(x,y)为文字

4、的基线的开始坐标,不是文字显示的矩形区域的左上角坐标。文字字型有三个要素:字体、风格和字号。常用的字体有Times New Roman、Symbol、宋体、楷体等。常用的风格有三种:正常、粗体和斜体,分别用三个常量表示:Font.PLAIN(正常)、Font.BOLD(粗体)和Font.ITALIC(斜体)。风格可以组合使用,例如,Font.BOLD+Font.ITALIC。字号是字的大小,单位是磅。在Java语言中,用类Font对象设置字型。Font类的构造方法有:Font(String fontName,int style,int size),3个参数分别表示字体、风格和字号。例如,代码:

5、Font fnA=new Font(“细明体”,Font.PLAIN,12)设置的字型是:细明体、正常风格,12磅字号。Font类的其他常用方法:(1)getStyle(),返回字体风格。(2)getSize(),返回字体大小。(3)getName(),返回字体名称。(4)isPlain(),测试字体是否是正常字体。(5)isBold(),测试字体是否是粗体。(6)isItalic(),测试字体是否是斜体。使用Graphics的方法setFont(Font font)设置字型。【例7.1】小应用程序用6种字型显示字符串,显示内容说明本身的字型。import java.applet.*;impo

6、rt java.awt.*;public class Example7_1 extends Applet Font f1=new Font(Helvetica,Font.PLAIN,18); Font f2=new Font(Helvetica,Font.BOLD,10); Font f3=new Font(Helvetica,Font.ITALIC,12); Font f4=new Font(Helvetica,Font.ITALIC,12); Font f5=new Font(Courier,Font.BOLD+Font.ITALIC,14); Font f6=new Font(Dialo

7、g,Font.ITALIC,14); public void paint(Graphics g) g.setFont(f1);g.drawString(18pt plain Helvetica,5,20); g.setFont(f2);g.drawString(10pt bold Helvetica,5, 43); g.setFont(f3);g.drawString(12pt italic Helvetica,5,58); g.setFont(f4);g.drawString(12pt plain Courier,5,75); g.setFont(f5);g.drawString(14pt

8、bold & italic Times Roman,5,92); g.setFont(f6);g.drawString(14pt italic Dialog,5,111); 用类Color的对象设置颜色,有两种方法生成各种颜色。一是用类Color预定义的颜色:black、red、white、yellow;二是通过红绿蓝(RGB)的值合成颜色。与颜色有关的常用方法:(1) 用类Color的构造方法Color(int R,int G,int B)创建一个颜色对象,参数R、G、B分别表示红色、绿色和蓝色,它们的取值是从0到255。(2) 用类Graphics的方法setColor(Color c),

9、参数c的取值参见表7-1。(3) 用类Component的方法setBackground(Color c)设置背景颜色。因为小程序是组件的子类,直接可用setBackground()方法改变背景色。(4) 用类Graphics的方法getColor()获取颜色。表7-1 Color类预定义颜色常量blackbluecyandarkGraygraygreenlighGraymagentaorangepinkredwhileyellow【例7.2】小应用程序设置颜色并涂方块,其中绘制方块的方法参见7.2节。import java.applet.*;import java.awt.*;public

10、class Example7_2 extends Applet public void paint(Graphics g) setSize(380,200); for(int i=0;i=10;i+) Color myredcolor=new Color(i*25+5,0,0); g.setColor(myredcolor); g.fillRect(i*32+5, 2, 28, 28); /用指定的颜色填充方块 for(int i=0;i=10;i+) Color mygreencolor=new Color(0,i*25+5,0); g.setColor(mygreencolor); g.f

11、illRect(i*32+5, 32, 28, 28); /用指定的颜色填充方块 for(int i=0;i160)i=1; g.setColor(Color.red); g.fillRect(i, 10, 20, 20); g.drawString(我正在学习update()方法!, 100, 100); try Thread.sleep(100); /程序暂停0.1秒 catch(InterruptedException e) repaint(); public void update(Graphics g) g.clearRect(i, 10, 200, 100); /不清除“我正在学习

12、update()方法!” paint(g); 一般的绘图程序要继承JFrame,定义一个JFrame窗口子类,还要继承JPanel,定义一个JPanel子类。在JPanel子类中重定义方法paintcomponent(),在这个方法中调用绘图方法,绘制各种图形。【例7.4】使用XOR绘图模式的应用程序,绘图效果参见图7.2。import java.awt.*;import javax.swing.*;public class Example7_4 extends JFrame public static void main(String args) GraphicsDemo myGraphicsFrame=new GraphicsDemo(); class ShapesPanel extends JPanel ShapesPanel() setBackground(Color.white);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1