欢迎光临
我们一直在努力

好东西介绍,直接用 java 命令行动态生成jpg文件-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

/**
* 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");
  
  }
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 好东西介绍,直接用 java 命令行动态生成jpg文件-JSP教程,Java技巧及代码
分享到: 更多 (0)