java图片数据_java 图片生成数据

packagecn.luxin.托尔斯泰;importcom.sun.image.codec.jpeg.JPEGCodec;importcom.sun.image.codec.jpeg.JPEGImageEncoder;import java.awt.*;importjava.awt.image.BufferedImage;importjava.io.BufferedOutputStream;importjava.io.FileOutputStream;public classDrawTableImg {/*** 生成图片

*@paramcellsValue 以二维数组形式存放 表格里面的值

*@parampath 文件保存路径*/

public voidmyGraphicsGeneration(String cellsValue[][], String path) {//字体大小

int fontTitileSize = 15;//横线的行数

int totalrow = cellsValue.length+1;//竖线的行数

int totalcol = 0;if (cellsValue[0] != null) {

totalcol= cellsValue[0].length;

}//图片宽度

int imageWidth = 1024;//行高

int rowheight = 40;//图片高度

int imageHeight = totalrow*rowheight+50;//起始高度

int startHeight = 10;//起始宽度

int startWidth = 10;//单元格宽度

int colwidth = (int)((imageWidth-20)/10);

BufferedImage image= newBufferedImage(imageWidth, imageHeight,BufferedImage.TYPE_INT_RGB);

Graphics graphics=image.getGraphics();

graphics.setColor(Color.WHITE);

graphics.fillRect(0,0, imageWidth, imageHeight);

graphics.setColor(new Color(220,240,240));//画横线

for(int j=0;j

graphics.setColor(Color.black);

graphics.drawLine(startWidth, startHeight+(j+1)*rowheight, startWidth+colwidth*totalcol, startHeight+(j+1)*rowheight);

}//画竖线

for(int k=0;k

graphics.setColor(Color.black);

graphics.drawLine(startWidth+k*colwidth, startHeight+rowheight, startWidth+k*colwidth, startHeight+rowheight*totalrow);

}//设置字体

Font font = new Font("微软雅黑",Font.BOLD,fontTitileSize);

graphics.setFont(font);//写标题

String title = "【指标完成进度】";

graphics.drawString(title, startWidth, startHeight+rowheight-10);//写入内容

for(int n=0;n

font= new Font("微软雅黑",Font.BOLD,fontTitileSize);

graphics.setFont(font);

}else if (n > 0 && l >0) {

font= new Font("微软雅黑",Font.PLAIN,fontTitileSize);

graphics.setFont(font);

graphics.setColor(Color.RED);

}else{

font= new Font("微软雅黑",Font.PLAIN,fontTitileSize);

graphics.setFont(font);

graphics.setColor(Color.BLACK);

}

graphics.drawString(cellsValue[n][l].toString(), startWidth+colwidth*l+5, startHeight+rowheight*(n+2)-10);

}

}//保存图片

createImage(image, path);

}/*** 将图片保存到指定位置

*@paramimage 缓冲文件类

*@paramfileLocation 文件位置*/

public voidcreateImage(BufferedImage image, String fileLocation) {try{

FileOutputStream fos= newFileOutputStream(fileLocation);

BufferedOutputStream bos= newBufferedOutputStream(fos);

JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(bos);

encoder.encode(image);

bos.close();

}catch(Exception e) {

e.printStackTrace();

}

}public static voidmain(String[] args) {

DrawTableImg cg= newDrawTableImg();try{//String tableData1[][] = {{"8月31日","累计用户数","目标值","完成进度","时间进度", "进度差异"}, {"掌厅客户端(户)","469281","1500000","31.2%","33.6%", "-2.4%"}};

String[][] tableData2 = {{"8月31日(户)","新增用户数","日访问量","累计用户数","环比上月"},

{"合肥和巢湖","469281","1500000","31.2%","33.6%"},

{"芜湖","469281","1500000","31.2%","33.6%"},

{"蚌埠","469281","1500000","31.2%","33.6%"},

{"淮南","469281","1500000","31.2%","33.6%"},

{"马鞍山","469281","1500000","31.2%","33.6%"},

{"淮北","469281","1500000","31.2%","33.6%"}};

cg.myGraphicsGeneration(tableData2,"c:\\myPic.jpg");

}catch(Exception e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值