`

实验 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

    综合这两个实验,我们可以看到多媒体技术不仅涉及图像处理软件的使用,还与物联网这种高级技术的理论和应用紧密相连。通过这样的实验,学生可以提升实际操作技能,同时理解并掌握前沿科技的基本原理。

    多媒体技术课程设计与实验辅导第四章 图形用户界面

    在本课程设计与实验辅导中,我们聚焦于多媒体技术中的一个重要方面——MATLAB图形用户界面(GUI)。MATLAB,全称“矩阵实验室”,是一种强大的数值计算和数据可视化工具,广泛应用于工程、科学以及数学领域。GUI则是...

    计算机多媒体实验报告

    总的来说,这个实验报告详尽地展示了多媒体处理的基本技术和流程,对于理解图形和视频文件的性质、处理方法以及相关工具的使用具有很高的参考价值。通过这样的实践,学生不仅可以掌握软件操作,还能深化对多媒体原理...

    多媒体实验一多媒体实验一多媒体实验一多媒体实验一

    在多媒体技术领域,实验是理解和掌握相关概念及应用的关键步骤。多媒体实验不仅涉及技术实施,也涉及用户体验设计。它帮助学习者提升在多媒体项目中的问题解决能力,同时增强编程和设计思维。本篇文章将详细探讨如何...

    多媒体实验报告及代码

    多媒体技术是信息技术领域中的一个重要分支,它涉及到声音、图像、视频等多种媒体的处理与集成,为用户提供了丰富的交互体验。本实验报告将深入探讨三个关键的多媒体软件:Authorware、PhotoShop以及Flash,它们在...

    多媒体技术实验报告

    实验报告的主题围绕着“多媒体技术”,具体关注的是Adobe Photoshop软件的使用。Photoshop是一款强大的图像处理和编辑软件,广泛应用于视觉艺术、平面设计、摄影后期处理等多个领域。在这个实验中,学生王帅通过一...

    多媒体技术及应用实验指导书.doc

    实验一的视频短片制作让学生接触并熟悉了多媒体制作中的音频与图片资源处理。在这个实验中,学生不仅学会了使用专业软件进行音频的录制、编辑和合成,还能通过实践理解不同音频格式的应用场景和特点。同时,视频编辑...

    多媒体技术与应用实验报告

    - 实验环境设置:安装必要的多媒体处理软件和开发环境。 - 数据采集:获取和准备实验所需的多媒体素材。 - 实验操作:根据实验指导书进行图像、音频和视频的编码、压缩与解码。 - 分析与讨论:评估不同压缩算法...

    北邮 基于多媒体信息检索平台的设计实验报告及源代码

    流程图通常包括输入、处理和输出三个主要部分,通过图形化的方式直观展示信息检索的过程,包括用户查询、数据匹配、结果返回等环节。袁潘宸同学的流程图设计清晰易懂,有助于我们快速掌握系统的工作逻辑。 三、源...

    多媒体实验matlab

    【多媒体实验MATLAB】在IT领域,MATLAB是一种强大的数学计算和数据分析软件,尤其在多媒体实验中,它被广泛应用于图像处理。MATLAB的主要用途在于算法的研究,其语言功能强大,但不能直接生成可执行文件。 MATLAB的...

    多媒体技术课程设计与学习辅导 实验代码 全部 MATLAB

    通过GUIDE(图形用户界面开发环境),开发者能设计出包含按钮、滑块、文本框等控件的界面,使得非编程背景的用户也能操作复杂的多媒体处理程序。 5. **图像滤波与边缘检测**:图像滤波用于减小噪声或平滑图像,常见...

    多媒体技术应用教程之图形图像处理技术.pptx

    《多媒体技术应用教程》第三章为我们详细介绍了图形图像处理技术,这些技术不仅在科学研究、设计创作等领域有着广泛的应用,而且与我们的日常生活紧密相关。本章首先从图形图像的基本原理入手,探讨了人类视觉特性...

    多媒体综合实验VC++

    实验涵盖了五个主要部分:文字效果、图形处理、图像处理、音频处理以及视频处理。通过这个实验,学生将能够运用VC++编程语言实现多媒体元素的创建、编辑和展示,提升其编程技能和创新思维。 ### 1. 文字效果 在...

    多媒体实验报告(标准的实验报告)

    总的来说,这份多媒体实验报告详细阐述了图像处理、动画制作和3D渲染及音频处理技术的应用。学生们通过一系列实验操作,不仅学习和巩固了多媒体技术相关的软件操作,还培养了解决实际问题的能力和创新思维。多媒体...

    多媒体实验报告

    - **定义**: 多媒体技术是指利用计算机综合处理多种媒体信息——文本、图形、图像、音频和视频等多种形式的信息的技术。 - **应用领域**: 教育培训、娱乐产业、商务交流等多个领域。 #### 二、声音信号的获取与处理...

    《 多媒体技术教程 》实验报告

    《多媒体技术教程》实验报告主要涉及的是多媒体领域中关于字体变换和基本图形编辑的应用,具体使用了Adobe Flash和Adobe Photoshop CS这两个软件。实验的核心目的是让学生熟悉这些软件的界面和基本功能,通过实际...

    NS2仿真实验—多媒体和无线网络通信

    本实验主题为“NS2仿真实验—多媒体和无线网络通信”,主要探讨如何在NS2环境中模拟多媒体数据传输和无线网络通信的过程,这对于理解网络性能、优化网络架构以及解决实际问题具有重要意义。 一、NS2简介 NS2是一个...

    多媒体技术与应用教程(第二版).rar

    1. 硬件:多媒体计算机通常配备高性能的CPU、大容量内存、高速硬盘、专用的图形处理单元(GPU)以及高质量的音频输出设备,以支持多媒体数据的快速处理和流畅播放。 2. 软件:包括多媒体创作工具(如Photoshop、...

    多媒体数据库实验6

    实验报告的标题为“多媒体数据库实验6”,主要涵盖了在云南大学软件学院进行的多媒体数据库系统设计的实践内容,尤其强调了“高级数据库设计”。实验的主要目的是让学生熟悉数据库建模工具Visio的运用,并理解数据库...

Global site tag (gtag.js) - Google Analytics