`

实验 8 图形与多媒体处理

阅读更多
一、实验目的
   熟悉图形、图像的使用方法,理解计算机动画的原理和 Java 的多线程处理机制,能够编写 Applet中使用的动画。
二、实验要求
   1. 掌握使用图形类 Graphics 画出不同图形的方法。
   2. 掌握在容器中输入图像、播放音乐的方法。
   3. 理解计算机动画原理,掌握图形双缓冲技术,能够设计计算机动画。
   4. 理解多线程机制,掌握线程的使用方法。
三、实验内容
(一)使用图形类 Graphics
    在 Java 中基本图形包括点、线、圆、矩形等,是构成复杂图形的基础。绘制基本图形要使用 AWT包中的 Graphics 类,它提供了各种基本图形的绘制方法,可以直接引用这些方法画点、线、圆、矩形等。
    1.创建在 Applet 上画出不同的图形的程序
• 程序功能:在 Applet 上使用不同的颜色画出直线、圆、方块、圆弧等图形。
• 编写 KY8_1.java 程序文件,源代码如下。
    import java.applet.Applet;
    import java.awt.Graphics;
    import java.awt.Color;
    public class KY7_1 extends Applet {
public void paint(Graphics g) {
       g.drawLine(10,10,50,10);//画线(确定两点)
       g.setColor(Color.red);//设置红颜色
       g.drawOval(35,35,100,60);//画椭圆(圆心、宽和高)
       g.fillOval(200,15,60,100);//画具有填充色的圆
       g.setColor(Color.blue);//设置蓝颜色
       g.drawRect(20,130,80,80);//画矩形
       g.fillRect(120,130,80,80);//画具有填充色的矩形
       g.drawRoundRect(220,130,80,80,20,20);//画圆角矩形
       g.fillRoundRect(320,130,80,80,20,20);//画具有填充色的圆角矩形
       g.setColor(new Color(255,255,0)); //设置黄颜色
       g.drawArc (250,20,100,100,0,90);
       g.fillArc (380,20,100,100,90,90);
       g.fillArc (300,25,100,100,180,90);
       g.drawArc (330,25,100,100,0,-90);
      }
}
• 编译程序 KY8_1.java。
• 编写显示 KY8_1.class 的页面文件,在浏览器中显示结果如图 7.1 所示。
2.创建使用画布对象的 Applet 应用程序
• 程序功能:创建一个带有多边形、圆的自定义画布类,在 Applet 上显示自定义画布的对象。
• 编写 KY8_2.java 程序文件,源代码如下。
      import java.applet.Applet;
      import java.awt.*;
      import java.awt.Color;
      public class KY8_2 extends Applet {
        public void init() {
          Color col=new Color(20,55,75);
          setBackground(col);//设置 Applet 的背景色
          setForeground(Color.yellow);//设置 Applet 的前景色
          MyCanvas1 c=new MyCanvas1();//创建画布对象
          c.setBackground(Color.white);//设置画布的背景色
          c.setSize(300,200);//设置画布的大小
          add(c);
        }
      }
      class MyCanvas1 extends Canvas {
        public void paint(Graphics g) {
          g.setColor(Color.red);
          g.fillOval(40,20,80,80);//画圆
          g.setColor(Color.cyan);//设置青色
          int p1X[]={20,20,100,20};//多边形的 x 坐标
          int p1Y[]={20,80,20,20};//多边形的 y 坐标
          int p1=3;//多边形的边数
          g.fillPolygon (p1X,p1Y,p1);//画填充多边形
          int p2X[]={280,120,50,90,210,280};
          int p2Y[]={20,50,100,110,70,20};
          int p2=5;
          g.drawPolygon (p2X,p2Y,p2);//画多边形
        }
      }
• 编译程序 KY8_2.java。
• 编写显示 KY8_2.class 的页面文件,在浏览器中显示结果
(二)插入图像与播放音乐
1. 在 Applet 中插入图像播放音乐
• 程序功能:在 Applet 中插入 3 种大小的图像,并在打开文件时部分背景音乐。
• 编写 KY8_3.java 程序文件,源代码如下。
         import java.awt.*;
         import java.applet.*;
         public class KY8_3 extends Applet {
           Image img;
           public void init(){
                  img=getImage(getCodeBase(),"image/飞机.gif");
//获取图像文件地址读取图   像文件到内存          
play(getDocumentBase(),"WAV/Sound.wav");         //播放声音文件
      }
         public void paint(Graphics g){
          int w=img.getWidth(this);
          int h=img.getHeight(this);
          g.drawImage(img,20,10,this);               // 画出原图
          g.drawImage(img,20,100, w/2, h/2, this); // 画出缩小一倍的图
          g.drawImage(img,160,0, w*2, h*2, this); // 画出放大一倍的图
         }
        }
• 编译程序 KY8_3.java。
• 编写显示 KY8_3.class 的页面文件。
2. 随时播放声音文件的程序
• 程序功能:在 Applet 中使用下拉框显示音乐文件的名字,在程序中使用 AudioClip 类控制播放的音乐文件,使用“播放”、“连续”、“停止”按钮控制和选择播放音乐的状态。
• 编写 KY8_4.java 程序文件,源代码如下。
      import java.awt.*;
      import java.awt.event.*;
      import java.applet.Applet;
         import java.applet.AudioClip;
         public class KY8_4 extends Applet implements ItemListener, ActionListener {
           AudioClip sound;
           Choice c=new Choice();
           Button play=new Button("播放");
           Button loop=new Button("连续");

           Button stop=new Button("停止");
           public void init() {
             c.add("space.au"); c.add("flute.aif"); c.add("trip.mid");
             c.add("jungle.rmf"); c.add("Sound.wav");
             add(c); c.addItemListener(this);
             add(play); add(loop); add(stop);
play.addActionListener(this);
             loop.addActionListener(this);
             stop.addActionListener(this);
             sound=getAudioClip(getCodeBase(), "WAV/Sound.wav");
           }
           public void itemStateChanged(ItemEvent e) {
             sound.stop();
             sound=getAudioClip(getCodeBase(), "WAV/"+c.getSelectedItem());
           }
           public void actionPerformed(ActionEvent e) {
             if (e.getSource()==play) sound.play();
             else if (e.getSource()==loop) sound.loop();
             else if (e.getSource()==stop) sound.stop();
           }
         }
• 编译程序 KY8_4.java。
• 编写显示 KY8_4.class 的页面文件,在浏览器中显示结果
分享到:
评论

相关推荐

    多媒体语言实验室.doc

    术对文本、图形、声音、动画、视频等多媒体信息进行集成处理的能力,为学习者提供 一个现代化的、高效学习的场所。 多媒体语音教室的建设的方案不同,拓扑结构也会有所不同,表现在语音教室的风格 上各有特色。下图...

    《多媒体技术及应用》实验指导书

    计算机科学与技术专业多媒体课程实验,包括实验一 音频信息处理、实验二 图形图像处理、实验三 平面广告设计、实验四 二维动画设计、实验五 三维动画设计、实验六 视频处理、实验七 主题动画设计创作、实验八 多媒体...

    多媒体开发与编程-于永彦-源代码

    第1章 绪论 1.1 媒体概述 1.1.1 媒体的定义 1.1.2 常见媒体 1.2 多媒体与多媒体技术 1.2.1 多媒体概念 1.2.2 多媒体技术 1.2.3 多媒体技术的发展 ...第8章 多媒体数据库编程 附录 上机实验 参考文献

    多媒体技术与应用 课件

    第3章 图形图像数据的编辑与处理 第4章 计算机动画的制作与编辑 第5章 媒体视频信号的获取和处理 第6章 多媒体数据压缩 第7章 多媒体计算机系统 第8章 多媒体应用系统设计 第9章 多媒体网页设计 第10章 多媒体...

    北京大学Java实验指导书.doc

    7.Java 多线程、图形与多媒体处理练习。 8.综合应用练习。 三、实验任务与时间安排 《Java 语言》是一门实践性很强的课程,除了在课内安排的实验外,鼓励同学在课外用相关技术进行编程练习。《Java ...

    多媒体综合实验VC++

    这是多媒体编程基础的一个综合实验,内容有文字,图形,图像,音频视频,动态LOGO五个部分,有程序和报告

    java程序设计实验指导代码

    第10章 Java的图形处理和Java 2D初步 10.1 预备知识 10.2 实验1 绘制国际象棋棋盘 10.3 实验2 绘制基本三角函数曲线 10.4 实验3 绘制金字塔形状 第11章 Java的GUI编程初步 11.1 预备知识 11.2 实验1 按钮有序...

    【实验报告】网页制作实验报告.docx

    4、安装acdsee、photoshop等图形处理与制作软件; 5、其他一些动画与图形处理或制作软件。 三、实验原理 【实验报告】网页制作实验报告全文共5页,当前为第3页。【实验报告】网页制作实验报告全文共5页,当前为第3...

    openBmp多媒体实验

    多媒体课程设计 图形图像处理 各种特效 以及压缩 解压缩

    多媒体网络技术概述.doc

    现代意义上的多媒体以计算机技术为支撑,不仅具有计算机所固有的存储记忆、高 速运算、逻辑判断、自行运行等功能,还采用了图形窗口、交互界面、语音识别和触摸 屏等先进技术,使计算机不仅具有了处理文本、图形、...

    127图形图像实验室简介1

    我们实验室在 1 教 127-129 房间,由李建军教授带队,欢迎加入李建军博士是多媒体与微电子技术专家,他在计算机视觉和多媒体信号处理与设计等方面成绩显著,特

    多媒体播放器的设计与开发.doc

    引言 多媒体技术是一种把文本(Text)、图形(Graphics)、图像(Images)、动画(A nimation)和声音(Sound)等形式的信息结合在一起,并通过计算机进行综合处理和控 制,能支持完成一系列交互式操作的信息技术。...

    海量多媒体数字水印技术研究

    实验结果表明,该模型具有很高的可行性,针对海量的多媒体信息处理,这一模型具备较高的使用价值。 4.提出了一个基于特征建模的自适应视频水印算法。该算法根据人类视觉系统(HvS)特性,对DCT子块进行特征分类。将...

    java实验源代码(共5个)

    实验一 JAVA语言面向对象编程技术 实验二 包、接口、异常处理 实验三 常用系统类库 实验四 图形界面设计 实验五 多媒体与多线程处理

    多媒体信息的类型.pptx

    多媒体信息的类型及其特征 普通高中课程标准实验教科书信息技术(选修2) 多媒体技术应用 高一信息技术 李萍 多媒体信息的类型全文共17页,当前为第1页。 精讲内容 掌握常见的多媒体信息的类型及特征 了解各种媒体类型...

    Java实验指导书 不错的资料

    Java实验指导书 1.Java 程序运行环境的下载、安装与配置。 2.Java 基本语法的编程练习。 3.面向对象编程练习。 4.Java 包、接口和异常处理的练习。...7.Java 多线程、图形与多媒体处理练习。 8.综合应用练习。

    PPT实验报告.doc

    通过这次的实验操作,使我学会了利用Office软件的PowerPoint演示文稿图形程序设 计与制作一个内容相对完整的自学演示型课件,熟练掌握PowerPoint演示文稿图形程序 的几种常用演示的制作方法;如何处理文字,图片,...

    ASP.NET程序开发范例宝典 第8章 数据绑定技术

    内容包括搭建ASP.NET开发环境、HTML开发与实践、CSS样式与JavaScript脚本应用、...处理、图形图像与多媒体、水晶报表与打印、XML技术、Web Service、ASP.NET高级应用、ASP.NET安全机制、综合实例、网站设计与网页配色等...

    OpenGL基础图形编程

    随着计算机技术的继续发展,GL已经进一步发展成为OpenGL,OpenGL已被认为是高性能图形和交互式视景处理的标准,目前包括ATT公司UNIX软件实验室、IBM公司、DEC公司、SUN公司、HP公司、Microsoft公司和SGI公司在内的几...

    矩阵位移法matlab代码-COMP3419-Graphics-and-Multimedia-Lab-Demo:COMP3419图形和多媒体实

    矩阵位移法matlab代码COMP3419图形和多媒体 实验示范 3.1视频背景替换 此任务是访问和修改视频“ monkey.mov”的每一帧,并将蓝色背景替换为“ star_trails.mov”。 下载视频扩展程序,以通过插件管理器进行处理 ...

Global site tag (gtag.js) - Google Analytics