网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  好东西介绍,直接用 java 命令行动态生成jpg文件     
  文章作者:未知  文章来源:水木森林  
  查看:93次  录入:管理员--2007-11-17  
 
  /**
* jerugraphics v 1.0
*
* 看到一些动态生成图象的例子都是servlet完成的,
* 而且程序很长,觉得不是无论从实用性还是可读性来说都不是太好。
* 这里给了段代码,命令行生成图象文件。这样是不是简单易用些呢?
*
* 创建一个 bufferedimage 对象,将你的“画”放到这个缓冲里,
* 再打开一个文件,将图像流编码后输入这个文件,这样就有一个
* jpg文件出现了,试试吧。。。
*  
* mender :
*   jeru liu
* homepage :
*   http://javaren.126.com
* email: jeru@163.net
*
* 这仅仅是一个范例程序,没什么实用,却极具参考价值。
*
*/


import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.*;

public class jerugraphics {
  bufferedimage image;
  
  // 创建 jpg 文件到指定路径下
  public void createjpg(string path) {
    try {
      fileoutputstream fos = new fileoutputstream(path);
      bufferedoutputstream bos = new bufferedoutputstream(fos);
      jpegimageencoder encoder = jpegcodec.createjpegencoder(bos);
      encoder.encode(image);
      bos.close();
    } catch(filenotfoundexception fnfe) {
      system.out.println(fnfe);
    } catch(ioexception ioe) {
      system.out.println(ioe);
    }
  }  
  
  public static void main(string[] args) {
    int width=400, height=200;
    int xlength=300, ylength=150;
    int count=5;
    
    vector data=new vector();
    data.addelement(new integer(100));
    data.addelement(new integer(120));
    data.addelement(new integer(150));
    data.addelement(new integer(40));
    data.addelement(new integer(5));
    
    jerugraphics jg = new jerugraphics();
    jg.image = new bufferedimage(width, height, bufferedimage.type_int_rgb);
    graphics g = jg.image.getgraphics();
    
    // 画坐标
    g.setcolor(color.white);
    g.fillrect(0, 0, width, height);
    g.setcolor(color.blue);
    g.drawline(10,height-10,10,height-10-ylength);
    g.drawline(10,height-10,10+xlength,height-10);

    // 连线
    int yto;
    int yfrom = ((integer)(data.elementat(0))).intvalue();
    for (int i=1; i<count; i++) {
      yto=((integer)(data.elementat(i))).intvalue();
      g.drawline(10+i*xlength/count,height-10,10+i*xlength/count,height-15);
      g.drawline(10+(i-1)*xlength/count,yfrom,10+i*xlength/count,yto);
      yfrom=yto;
    }
    
    jg.createjpg("d://aaa.jpg");
  
  }
}
 
 
上一篇: web框架tomcat5.0的目录结构    下一篇: 和同事写了一个下午的递归读取数据库的javabean
  相关文档
论全世界所有程序员都会犯的错误2 11-16
技巧:用java语言实现对称加密实例详解 11-16
java ftp客户端库的选择 11-17
java中通过emit实现动态类生成 11-16
java应用者与ide环境 11-17
关于提高java技能的几种简单有效的方法 12-28
java应用技巧:se6调用编译器的两种方法 (1) 09-09
具有不同显示风格的jbutton 11-16
嵌入式开发技术前沿:仔细研究j2me 11-17
技术分析ejb3.0开发指南:组合主键 11-17
java入门笔记5_异常 11-17
深入理解java延迟绑定 11-17
java编程技术中汉字问题的分析及解决 11-17
try...catch...finally 语句 11-16
对象private:不能接触! 11-17
web services&xml:xml和j2ee的完美结合 (1) 10-22
jsp/servlet/jsf:提升jsp应用程序效率 01-11
由pojo生成hibernate映射文件的批处理程序 11-17
jsf实例:组件显示(隐藏)与数据排序 11-17
且看微软的.net和sun公司的j2ee如何对垒 11-16
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息