文档库 最新最全的文档下载
当前位置:文档库 › 多媒体技术实验报告

多媒体技术实验报告

多媒体技术实验报告
多媒体技术实验报告

江苏科技大学

多媒体技术考核报告(2017/2018学年第1学期)

课程名称:多媒体技术

指导教师:景国良

实验地点:东校区外训楼软件工程实验室

学生姓名:谢卉

学生学号: 1477965899

院系:计算机学院

专业:计算机科学与技术专业

考核得分:

2017年11月日

实验一多媒体图像文件转换

一、实验目的

1.掌握多媒体静态图像的基本概念,技术和获取过程。

2.掌握多媒体图像文件基本格式种类。

3.掌握不同图像文件的数据结构形式,了解不同格式图像文件的具体类型区别。

4.运用高级语言编程实现不同图像文件类型的相互转换。

二、实验环境

1、主流操作系统;

2、高级语言编程环境。

三、实验内容

1、编写程序实现主流图像文件格式之间的相互转换;

2、至少要实现JPG、BMP、GIF、PNG图像文件之间的转换;

3、编程语言不限;

4、根据实验内容撰写对应的实验报告。

四、设计方案

ImageIO 类的静态方法可以执行许多常见的图像 I/O 操作。

此包包含一些基本类和接口,有的用来描述图像文件内容(包括元数据和缩略图)(IIOImage);有的用来控制图像读取过程(ImageReader、ImageReadParam 和 ImageTypeSpecifier)和控制图像写入过程(ImageWriter 和 ImageWriteParam);还有的用来执行格式之间的代码转换(ImageTranscoder) 和报告错误 (IIOException)。

可处理图像格式有:jpg,BMP,bmp,JPG,wbmp,jpeg,png,PNG,JPEG,WBMP,GIF,gif。

另外在加一些输入代码可实现简单的格式转换选择。

五、实验代码

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

System.out.println("请输入需要转换的格式[jpg, bmp, png, gif]:");

File out = new File("/Users/14779/Desktop/1.jpg");

//将图片写入ImageIO流

try {

BufferedImage img = ImageIO.read(out);

//将图片写出到指定位置(复制图片)

switch (scan.next()){

case"png":

case"PNG":

OutputStream ops =

new FileOutputStream(new File("/Users/14779/Desktop/1(1).png"));

ImageIO.write(img, "png", ops);

System.out.println("转换完成!");

break;

case"jpg":

case"JPG":

ops = new FileOutputStream(new File("/Users/14779/Desktop/1(1).jpg")); ImageIO.write(img, "jpg", ops);

System.out.println("转换完成!");

break;

case"bmp":

case"BMP":

ops = new FileOutputStream(new File("/Users/14779/Desktop/1(1).bmp")); ImageIO.write(img, "bmp", ops);

System.out.println("转换完成!");

break;

case"GIF":

case"gif":

ops = new FileOutputStream(new File("/Users/14779/Desktop/1(1).gif")); ImageIO.write(img, "gif", ops);

System.out.println("转换完成!");

break;

default:

System.out.println("请输入正确格式!");

break;

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

实验截图

六、实验过程中的问题及对应思考

ImageIO是一个封装好的图像输入输出类, 使用 ImageIO 类的静态方法可以执行许多常见的图像 I/O 操作。我将图片路径事先写好放入程序里,可以通过键入转换格式来达到想要转换到的格式,为了避免键入出错,我将主程序写在try函数中。

实验二多媒体图像文件压缩

一、实验目的

1、了解各种图像文件格式之间的存储方法和方式,了解其编码的组织方式;

2、掌握运用高级编程语言编写多媒体应用程序的方法;

3、运用高级编程语言实现对多媒体图像文件的压缩的方法。

二、实验环境

1、主流操作系统;

2、高级语言编程环境。

三、实验内容

1、使用高级编程语言编写良好的运行界面;

2、运用高级编程语言编写核心代码实现对图像文件的压缩;

3、了解压缩过程中的顺进和累进方法的运用提高压缩比;

4、合理的考虑压缩算法压缩和解压的速度平衡;

5、编程语言不限;

6、根据实验内容撰写对应的实验报告。

四、设计方案

使用imagioIO的对图片的压缩处理来进行此项实验。

五、实验代码

package https://www.wendangku.net/doc/c716380471.html,pany;

import javax.imageio.ImageIO;

import java.awt.*;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

public class Main {

public static void main(String[] args) {

CompressPicDemo mypic = new CompressPicDemo();

System.out.println("输入的图片大小:" +

mypic.getPicSize("C:\\Users\\14779\\Desktop\\2.jpg")/1024 + "KB");

https://www.wendangku.net/doc/c716380471.html,pressPic("C:\\Users\\14779\\Desktop", "C:\\Users\\14779\\Desktop", "2.jpg", "2(2).jpg", 120, 120, false);

}

}

class CompressPicDemo {

private File file = null; // 文件对象

private String inputDir; // 输入图路径

private String outputDir; // 输出图路径

private String inputFileName; // 输入图文件名

private String outputFileName; // 输出图文件名

private int outputWidth = 100; // 默认输出图片宽

private int outputHeight = 100; // 默认输出图片高

private boolean proportion = true; // 是否等比缩放标记(默认为等比缩放)

public CompressPicDemo() { // 初始化变量

inputDir = "";

outputDir = "";

inputFileName = "";

outputFileName = "";

相关文档