`
星海孤舟
  • 浏览: 68981 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

用awt画图,消锯齿等导出为jpg,已经xml命名空间说明

 
阅读更多

 

BufferedImage bi = new BufferedImage(Math.round(dWidth), Math.round(dHeight), BufferedImage.TYPE_INT_RGB);
Graphics2D draw = bi.createGraphics();

一下代码为了保证图形的质量,消除锯齿等。
RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
qualityHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
qualityHints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
qualityHints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
qualityHints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
draw.setRenderingHints(qualityHints);

Color backgroundColor = bgColor;
draw.setBackground(backgroundColor);
draw.clearRect(0, 0, 5100, 5100);


导出为jpg下载
ByteArrayOutputStream imgs = new ByteArrayOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(imgs);
// 返回的对象对给定 BufferedImage 所做的编码工作将是可靠的
JPEGEncodeParam jep = encoder.getDefaultJPEGEncodeParam(bi);

/*
* 创建替代当前已建量化表的新量化表。它也将 Component QTable 映射更新为当前已编码 COLOR_ID 的缺省值。
* 根据质量参数的不同,创建的量化表介于压缩比很高但质量很差 (0.0) 与压缩比低但质量很好 (1.0) 之间。
*/
jep.setQuality(1.0f, true);

// 将返回由 JPEGDecodeParam 对象初始化而得到的新 JPEGEncodeParam 对象。
// 所有主要的信息将通过 JPEGDecodeParam(标记、表、映射)初始化。
encoder.setJPEGEncodeParam(jep);
// 将 BufferedImage 作为 JPEG 数据流进行编码。
encoder.encode(bi);
response.getOutputStream().write(imgs.toByteArray());


图片缩放
Image img = Image.getInstance(imgs.toByteArray());
img.scalePercent(percent);


顺便说下xml命名空间,xml有命名空间,则查找xml中的属性时需要使用命名空间,否则查不着
Document document = DocumentHelper.parseText(xml);

Map<String, String> xmlMap = new HashMap<String, String>();
xmlMap.put("mo", "http://ee.develop.com/");
XPath xpath = document.createXPath("//mo:state");
xpath.setNamespaceURIs(xmlMap);
List<Element> states = xpath.selectNodes(document);

多层节点路径使用
xpath = document.createXPath("//mo:state/mo:condition");

分享到:
评论

相关推荐

    awt.rar_awt_java awt_java 画图

    Java AWT(Abstract Window Toolkit)是Java平台早期的图形用户界面(GUI)工具包,它为开发者提供了创建和管理窗口、按钮、文本框等组件的基本功能。在Java中,AWT是 Swing 的基础,虽然现在Swing更常用,但AWT仍然...

    java AWT实现简单画图器(可打开、保存、清除界面、选择颜色等)

    在本项目中,我们利用AWT(Abstract Window Toolkit)来创建一个简单的画图器,它具备基本的绘图功能,如绘制线条、圆形和矩形,并支持文件的保存和打开,以及画笔颜色的选择。 首先,我们要了解Java AWT中的关键...

    Java AWT画图

    Java AWT(Abstract Window Toolkit)是Java平台早期提供的图形用户界面(GUI)工具包,用于创建窗口、按钮、文本框等交互元素。在本项目中,我们关注的是使用AWT进行画图的功能。AWT提供了丰富的图形绘制API,使得...

    在jsp中用awt类来画图

    在JavaServer Pages (JSP) 中使用AWT(Abstract Window Toolkit)类来画图是一种将图形界面元素嵌入到Web应用程序中的技术。AWT是Java早期的图形用户界面(GUI)库,虽然在Swing和JavaFX等现代库出现后使用较少,但...

    坦克大战(xml+awt编程)

    《坦克大战:XML与AWT编程的融合》 在计算机编程领域,坦克大战是一款经典的、深受程序员喜爱的小游戏。这个项目巧妙地结合了XML和AWT(Abstract Window Toolkit)技术,构建了一个简单却富有挑战性的游戏环境。XML...

    AWT与Swing使用区别

    AWT(Abstract Window Toolkit)和Swing都是Java用于构建图形用户界面(GUI)的库,它们各有特点,但在很多方面存在显著差异。了解这些差异有助于开发者根据项目需求选择合适的技术。 1. **组件的实现方式** - **...

    基于AE输出JPG等格式的图片

    其强大的功能不仅限于视频编辑,还包括了图像处理,可以将项目中的视觉元素导出为多种格式的静态图像,如JPG、PNG、BMP等。 在AE中,用户可以通过“Composition”菜单下的“Make Movie”或“Save Frame As”选项来...

    AWT与AWT事件处理

    什么是AWT 用AWT构建GUI 事件处理 AWT组件类库

    java画图程序(java画图 java 编辑保存读取jpg图片)

    以下是对标题、描述和标签所涉及知识点的详细说明: 1. **Java AWT 和 Swing**: Java 提供了两种图形用户界面(GUI)工具包,即Abstract Window Toolkit (AWT) 和 Swing。AWT 是早期的GUI库,而Swing是建立在AWT之...

    java,Swring,oracle导出XML

    4. **创建XML文档**:为了将数据导出为XML格式,我们需要使用Java的`javax.xml.transform`和`javax.xml.parsers`包。首先,创建一个`DocumentBuilderFactory`实例,然后用它来构建`DocumentBuilder`,再由`...

    awt包java Android

    awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android ...

    JAVA AWT学习手册

    AWT(Abstract Window Toolkit),即抽象窗口工具包,是Java API为Java程序提供的建立图形用户界面的基本工具集,AWT可以用于Java Application和Java Applet的图形用户界面的创建。 AWT工具集简介 AWT工具集是Java ...

    awt.rar_awt_java awt_java绘图

    Java AWT(Abstract Window Toolkit)是Java平台早期的图形用户界面(GUI)工具包,它为开发者提供了构建桌面应用程序的基本组件,如按钮、文本框、菜单等,以及用于在屏幕上绘制图形的能力。这个"awt.rar"压缩包...

    用AWT包实现的JAVA计算器

    总之,"用AWT包实现的JAVA计算器"项目涵盖了基础的Java GUI编程、事件处理、布局管理、计算逻辑实现等多个重要知识点。通过这个项目,开发者可以深入理解Java图形界面编程,并提升自己的问题解决和逻辑思维能力。

    计算器(用AWT写的)

    【标题】:“计算器(用AWT写的)” 这个标题表明我们正在讨论一个使用Java AWT(Abstract Window Toolkit)库编写的计算器程序。AWT是Java早期的图形用户界面(GUI)框架,它允许开发者创建窗口、按钮、文本框等...

    用AWT编写的画板,可以任意选择颜色

    在Java编程语言中,AWT(Abstract Window Toolkit)是一个早期的图形用户界面(GUI)库,用于创建窗口和其他...虽然AWT已经被Swing和JavaFX等现代GUI库所取代,但它仍然是理解Java图形界面编程基础知识的一个重要起点。

    Java的AWT包.pdf

    在Java编程中,如果你需要开发带有窗口、按钮、文本框等元素的应用程序,AWT就是你的基础工具之一。 **AWT的结构与组件** AWT的核心类主要分为以下几类: 1. **组件(Component)**:这是所有用户界面对象的基类,...

    java ajax jquery awt

    尽管AWT已经相对过时,被Swing取代,但在一些特定场景下,例如与本地系统进行深度集成时,AWT仍然有其用武之地。 【Demo实践】 描述中的“DEMO结构清晰易懂”意味着这个压缩包中可能包含了一个或多个示例项目,用于...

    AWT Framework

    AWT Framework is a lightweight framework for building AWT applications. Layout is configed by XML files. Events and View Switchs is managed by framework. Also you can plugin your customized AWT or ...

    base64的XML或XML生成png图片.rar

    在IT行业中,将XML数据转换为PNG图片是一种常见的数据处理技术,特别是在数据可视化、安全传输或存储方面。这里,我们关注的是一个Java实现的项目,它允许我们将XML数据通过Base64编码,然后生成PNG图像。这个过程...

Global site tag (gtag.js) - Google Analytics