主要思路: 使用EMFInputStream读取EMF文件,然后使用EMFRenderer对象将EMF绘制到创建 好的空白的BufferedImage里面。这样就把EMF图片转化为Java中的BufferedImage对 象,然后可以重新保存为Java 2D支持图像格式如PNG或者JPG等。 代码如下: [java] view pla

主要思路:    使用EMFInputStream读取EMF文件,然后使用EMFRenderer对象将EMF绘制到创建

好的空白的BufferedImage里面。这样就把EMF图片转化为Java中的BufferedImage对

象,然后可以重新保存为Java 2D支持图像格式如PNG或者JPG等。

代码如下:

[java] view plaincopy

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import javax.imageio.ImageIO;

import javax.swing.JFrame;

import javax.swing.JPanel;

import org.freehep.graphicsio.emf.EMFInputStream;

import org.freehep.graphicsio.emf.EMFRenderer;

/**

* download the third-party libraries here:

* http://java.freehep.org/vectorgraphics/index.html

*

* @author gloomyfish

*

*/

public class EMFReader {

public static void main(String[] args) {

try {

EMFInputStream inputStream = new EMFInputStream(new FileInputStream("D:\\export.emf"), EMFInputStream.DEFAULT_VERSION);

System.out.println("height = " + inputStream.readHeader()。getBounds()。getHeight());

System.out.println("widht = " + inputStream.readHeader()。getBounds()。getWidth());

// headerInfo of bitmap API always tell a lie, could not get

// correct width and height

// BitmapInfoHeader headerInfo = new BitmapInfoHeader(inputStream);

// System.out.println("Big Error on reading emf format picture");

EMFRenderer emfRenderer = new EMFRenderer(inputStream);

// create buffered image object from EMF render

final int width = (int)inputStream.readHeader()。getBounds()。getWidth();

final int height = (int)inputStream.readHeader()。getBounds()。getHeight();

System.out.println("widht = " + width + " and height = " + height);

final BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

Graphics2D g2 = (Graphics2D)result.createGraphics();

emfRenderer.paint(g2);

// write it as png/jpg/gif, up to you!!!

File outputfile = new File("D:\\result.png");

ImageIO.write(result, "png", outputfile);

// display it   www.heatpress123.net

JPanel resultPanel = new JPanel() {

/**

*

*/

private static final long serialVersionUID = 1L;

public void paintComponent(Graphics g) {

super.paintChildren(g);

Graphics2D g2 = (Graphics2D)g;

g2.drawImage(result, 0, 0, width, height, null);

}

};

JFrame ui = new JFrame("EMF Reader");

ui.getContentPane()。setLayout(new BorderLayout());

ui.getContentPane()。add(resultPanel, BorderLayout.CENTER);

ui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ui.setSize(new Dimension(width+20, height+40));

ui.setVisible(true);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

java emf 转jpg_JAVA读取EMF文件并转化为PNG,JPG,GIF格式相关推荐

  1. JAVA读取EMF文件并转化为PNG,JPG,GIF格式

    JAVA读取EMF文件并转化为PNG,JPG,GIF格式 使用第三方库下载地址为:http://java.freehep.org/vectorgraphics/index.html 主要思路: 使用E ...

  2. java读取emf文件并规定大小_JAVA读取EMF文件并转化为PNG,JPG,GIF格式.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava JAVA读取EMF文件并转化为PNG,JPG,GIF格 ...

  3. Java的marven工程读取resources文件,并打可执行的jar

    Java的maven工程读取resources文件,并打可执行的jar 文章目录 Java的maven工程读取resources文件,并打可执行的jar 如何读取resources文件 maven如何 ...

  4. R读取json文件并转化为dataframe

    R读取json文件并转化为dataframe 目录 R读取json文件并转化为dataframe R读取json文件 把json转为dataframe

  5. JAVA实现环形缓冲多线程读取远程文件

    2019独角兽企业重金招聘Python工程师标准>>> 如果用HttpURLConnection类的方法打开连接,然后用InputStream类获得输入流,再用BufferedInp ...

  6. java wav 波形_java读取wav文件(波形文件)并绘制波形图的方法

    本文实例讲述了java读取wav文件(波形文件)并绘制波形图的方法.分享给大家供大家参考.具体如下: 因为最近有不少网友询问我波形文件读写方面的问题,出于让大家更方便以及让代码能够得到更好的改进,我将 ...

  7. java xml 反射_Java 读取XML文件以及Java 的反射机制实现

    Java 读取XML文件以及Java 的反射机制实现 代码部分 import java.io.File; import javax.xml.parsers.DocumentBuilder; impor ...

  8. java classpath 遍历_Java 读取JAR文件信息

    Java 读取JAR文件信息 为什么想到读取JAR文件的信息 查看spring 资源处理,查找多个资源classpath*,会去寻找jar包中的内容,因此会出现读取jar包中的文件或者读取文件夹中的文 ...

  9. Java使用GeoTools轻松读取shapefile文件内容

    日常GIS开发中难免会将一些shapefile文件数据读取存入数据库中,很多人第一想到的就是使用GeoTools操作和显示地图的开源Java 代码库. 生活捉弄人,因为项目需要对于从来没有做过GIS相 ...

  10. python 读取excel文件,并读成数据框格式输出

    pandas直接读取 import pandas as pd df = pd.read_excel('/path/file.xlsx' ) sheet_name: str, int, list, or ...

最新文章

  1. EOS账户系统(4)账户权限分级
  2. QT的QProxyStyle类的使用
  3. Centos6.6安装之后调优
  4. 我今天对JavaFX的了解
  5. linux 下载mysql5.7.22
  6. Kaggle新赛 | HuBMAP: 识别人体肾脏组织图像中的肾小球~总奖金 6 万美金
  7. 还你一个干净清爽的Windows系统--win7重装小记
  8. POJ3264 Balanced Lineup【线段树】
  9. php自动提交百度收录,wordpress站点如何自动提交百度收录
  10. 雨听|生成mac风格代码块
  11. echarts版本升级导致Chinamap渲染报错问题(vue2)
  12. 计算机虚拟仿真专业,计算机虚拟仿真实验教学中心
  13. java技术cad转图片,怎么把原有的cad文件转换成图片格式?快速把cad转jpg的技巧...
  14. 阿里巴巴矢量字体转Image图片(建议收藏)
  15. c# 角度和弧度的转换
  16. 操作系统 银行家算法 安全性检查
  17. 用户情感可视化分析——天池竞赛
  18. 软件测试-软件及分类
  19. 紅米android os,红米7A 魔趣OS 安卓10 纯净完美 原生极简 纯净推荐
  20. 阿里巴巴Java开发手册github地址

热门文章

  1. PX4从放弃到精通(十八):参数
  2. NetApp 数据存储解决方案
  3. JQ 吸顶导航-Demo
  4. javascript学习笔记最全
  5. 【保研记录】2020年信工所二室(第三批)预推免面试经验分享
  6. 苹果计算机远程控制软件,向日葵远程控制软件iPhone手机远程控制电脑
  7. c语言模拟键盘自动按键,C语言实现模拟键盘按键事件
  8. Emmagee性能测试简单的使用
  9. excel切片器_EXCEL制作高逼格动态图表神器,数据透视表之切片器技巧详解!
  10. 时域,空域,频域的基本概念