您的位置:

java生成图片,java生成图片并保存

本文目录一览:

解析下这个生成图片的Java代码

1.调用"images"文件夹里的文件放在ImageIcon里显示2.在windows下面显示正常Java在图形处理时调用了本地的图形处理库。在利用Java作图形处理(比如:图片缩放,图片签名,生成报表)时,如果运行在windows上不会出问题。如果将程序移植到Linux/Unix上的时候有可能出现图形不能显示的错误。3.提示信息:"Can'tconnecttoX11windowserver"这是由于Linux的图形处理需要一个XServer服务器。(关于Linux的图形处理模式参考Tomcat的修改如下:打开%Tomcat_home%/bin/catalina.sh文件在文件的86%处,启动Tomcat的脚本中加上:-Djava.awt.headless=true/参考:"$_RUNJAVA"$JAVA_OPTS$CATALINA_OPTS/-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS"-classpath"$CLASSPATH"/-Dcatalina.base="$CATALINA_BASE"/-Dcatalina.home="$CATALINA_HOME"/-Djava.io.tmpdir="$CATALINA_TMPDIR"/-Djava.awt.headless=true/org.apache.catalina.startup.Bootstrap"$@"start/"$CATALINA_BASE"/logs/catalina.out21if[!-z"$CATALINA_PID"];thenecho$!$CATALINA_PIDfifielif["$1"="stop"];then保存后,重新启动就可以处理图形了。

java中怎么将word文档怎么生成图片

public class CreateWordDemo

{

public void createDocContext(String file)

throws DocumentException,IOException {

//

设置纸张大小

Document document = new

Document(PageSize.A4);

//

建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中

RtfWriter2.getInstance(document, new

FileOutputStream(file));

document.open();

//

设置中文字体

BaseFont bfChinese =

BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H",

BaseFont.NOT_EMBEDDED);

//

标题字体风格

Font titleFont = new Font(bfChinese, 12,

Font.BOLD);

//

正文字体风格

Font contextFont = new Font(bfChinese, 10,

Font.NORMAL);

Paragraph title = new

Paragraph("标题");

//

设置标题格式对齐方式

title.setAlignment(Element.ALIGN_CENTER);

title.setFont(titleFont);

document.add(title);

String contextString =

"iText是一个能够快速产生PDF文件的java类库。"

+ " \n"//

换行

+

"iText的java类对于那些要产生包含文本,"

+ "表格,图形的只读文档是很有用的。它的类库尤其与java

Servlet有很好的给合。"

+

"使用iText与PDF能够使你正确的控制Servlet的输出。";

Paragraph context = new

Paragraph(contextString);

//

正文格式左对齐

context.setAlignment(Element.ALIGN_LEFT);

context.setFont(contextFont);

//

离上一段落(标题)空的行数

context.setSpacingBefore(5);

//

设置第一行空的列数

context.setFirstLineIndent(20);

document.add(context);

//

利用类FontFactory结合Font和Color可以设置各种各样字体样式

Paragraph underline = new Paragraph("下划线的实现",

FontFactory.getFont(

FontFactory.HELVETICA_BOLDOBLIQUE, 18,

Font.UNDERLINE, new Color(0, 0,

255)));

document.add(underline);

// 设置 Table

表格

Table aTable = new

Table(3);

int width[] = { 25, 25, 50

};

aTable.setWidths(width);//

设置每列所占比例

aTable.setWidth(90); // 占页面宽度

90%

aTable.setAlignment(Element.ALIGN_CENTER);//

居中显示

aTable.setAlignment(Element.ALIGN_MIDDLE);//

纵向居中显示

aTable.setAutoFillEmptyCells(true); //

自动填满

aTable.setBorderWidth(1); //

边框宽度

aTable.setBorderColor(new Color(0, 125, 255)); //

边框颜色

aTable.setPadding(2);//

衬距,看效果就知道什么意思了

aTable.setSpacing(3);//

即单元格之间的间距

aTable.setBorder(2);//

边框

//

设置表头

Cell haderCell = new

Cell("表格表头");

haderCell.setHeader(true);

haderCell.setColspan(3);

aTable.addCell(haderCell);

aTable.endHeaders();

Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,

Color.GREEN);

Cell cell = new Cell(new Phrase("这是一个测试的 3*3 Table 数据",

fontChinese));

cell.setVerticalAlignment(Element.ALIGN_TOP);

cell.setBorderColor(new Color(255, 0,

0));

cell.setRowspan(2);

aTable.addCell(cell);

aTable.addCell(new

Cell("#1"));

aTable.addCell(new

Cell("#2"));

aTable.addCell(new

Cell("#3"));

aTable.addCell(new

Cell("#4"));

Cell cell3 = new Cell(new Phrase("一行三列数据",

fontChinese));

cell3.setColspan(3);

cell3.setVerticalAlignment(Element.ALIGN_CENTER);

aTable.addCell(cell3);

document.add(aTable);

document.add(new

Paragraph("\n"));

//

添加图片 Image.getInstance即可以放路径又可以放二进制字节流

Image img =

Image.getInstance("d:\\img01800.jpg");

img.setAbsolutePosition(0,

0);

img.setAlignment(Image.RIGHT);//

设置图片显示位置

img.scaleAbsolute(60, 60);//

直接设定显示尺寸

//

img.scalePercent(50);//表示显示的大小为原尺寸的50%

// img.scalePercent(25,

12);//图像高宽的显示比例

//

img.setRotation(30);//图像旋转一定角度

document.add(img);

document.close();

}

public static void main(String[] args)

{

CreateWordDemo word = new

CreateWordDemo();

String file =

"d:/demo1.doc";

try

{

word.createDocContext(file);

} catch (DocumentException e)

{

e.printStackTrace();

} catch (IOException e)

{

e.printStackTrace();

}

}

}

java怎么生成带用户微信头像的图片,并把这张图片发送给用户。

1、下载生成二维码所需要的jar包qrcode.jar;2、直接上生成二维码的java代码 //需要导入的包import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import javax.imageio.ImageIO;import com.swetake.util.Qrcode; /** * 生成二维码(QRCode)图片 * @param content 二维码图片的内容 * @param imgPath 生成二维码图片完整的路径 * @param ccbpath 二维码图片中间的logo路径 */ public static int createQRCode(String content, String imgPath,String ccbPath) { try { Qrcode qrcodeHandler = new Qrcode(); qrcodeHandler.setQrcodeErrorCorrect('M'); qrcodeHandler.setQrcodeEncodeMode('B'); qrcodeHandler.setQrcodeVersion(7); // System.out.println(content); byte[] contentBytes = content.getBytes("gb2312"); //构造一个BufferedImage对象 设置宽、高 BufferedImage bufImg = new BufferedImage(140, 140, BufferedImage.TYPE_INT_RGB); Graphics2D gs = bufImg.createGraphics(); gs.setBackground(Color.WHITE); gs.clearRect(0, 0, 140, 140); // 设定图像颜色 BLACK gs.setColor(Color.BLACK); // 设置偏移量 不设置可能导致解析出错 int pixoff = 2; // 输出内容 二维码 if (contentBytes.length 0 contentBytes.length 120) { boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes); for (int i = 0; i codeOut.length; i++) { for (int j = 0; j codeOut.length; j++) { if (codeOut[j][i]) { gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3); } } } } else { System.err.println("QRCode content bytes length = " + contentBytes.length + " not in [ 0,120 ]. "); return -1; } Image img = ImageIO.read(new File(ccbPath));//实例化一个Image对象。 gs.drawImage(img, 55, 55, 30, 30, null); gs.dispose(); bufImg.flush(); // 生成二维码QRCode图片 File imgFile = new File(imgPath); ImageIO.write(bufImg, "png", imgFile); }catch (Exception e){ e.printStackTrace(); return -100; } return 0; }

来自网友 孤独青鸟的博客

请问下java中导出图片怎么做?

package com.xolt;

import java.io.FileOutputStream;

import java.io.File;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.awt.image.BufferedImage;

import javax.imageio.*;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFPatriarch;

import org.apache.poi.hssf.usermodel.HSSFClientAnchor;;

public class TestPOI {

public static void main(String[] args) {

FileOutputStream fileOut = null;

BufferedImage bufferImg =null;

BufferedImage bufferImg1 = null;

try{

//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray

ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();

ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream();

bufferImg = ImageIO.read(new File("C:/Documents and Settings/dingqi/Desktop/clip_image002.jpg"));

bufferImg1 = ImageIO.read(new File("C:/Documents and Settings/dingqi/Desktop/clip_image002.jpg"));

ImageIO.write(bufferImg,"jpg",byteArrayOut);

ImageIO.write(bufferImg1,"jpg",byteArrayOut1);

//创建一个工作薄

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet sheet1 = wb.createSheet("poi picT");

//HSSFRow row = sheet1.createRow(2);

HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();

HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20);

HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,512,255,(short) 2,30,(short)10,60);

anchor1.setAnchorType(2);

//插入图片

patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));

patriarch.createPicture(anchor1 , wb.addPicture(byteArrayOut1.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));

fileOut = new FileOutputStream("c:/workbook.xls");

//写入excel文件

wb.write(fileOut);

fileOut.close();

}catch(IOException io){

io.printStackTrace();

System.out.println("io erorr : "+ io.getMessage());

} finally

{

if (fileOut != null)

{

try {

fileOut.close();

}

catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}

poi中图片到到excel的方法 你需要准备poi包 试试看看

java生成jpg图片 并且实现文字和图片混排

import com.sun.image.codec.jpeg.JPEGCodec;

import com.sun.image.codec.jpeg.JPEGImageEncoder;

import java.io.BufferedOutputStream;

import java.io.FileOutputStream;

import java.awt.image.BufferedImage;

import java.awt.*;

import javax.swing.ImageIcon;

public class ChartGraphics {

BufferedImage image;

void createImage(String fileLocation) {

try {

FileOutputStream fos = new FileOutputStream(fileLocation);

BufferedOutputStream bos = new BufferedOutputStream(fos);

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);

encoder.encode(image);

bos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public void graphicsGeneration(String name, String id, String classname, String imgurl) {

int imageWidth = 500;//图片的宽度

int imageHeight = 400;//图片的高度

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

Graphics graphics = image.getGraphics();

graphics.setColor(Color.WHITE);

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

graphics.setColor(Color.BLACK);

graphics.drawString("姓名 : " + name, 50, 75);

graphics.drawString("学号 : " + id, 50, 150);

graphics.drawString("班级 : " + classname, 50, 225);

//ImageIcon imageIcon = new ImageIcon(imgurl);

//graphics.drawImage(imageIcon.getImage(), 230, 0, null);

//改成这样:

BufferedImage bimg = null;

try {

bimg = javax.imageio.ImageIO.read(new java.io.File(imgurl));

} catch (Exception e) {}

if(bimg!=null)

graphics.drawImage(bimg, 230, 0, null);

graphics.dispose();

createImage("G:\\TDDOWNLOAD\\hehe.jpg");

}

public static void main(String[] args) {

ChartGraphics cg = new ChartGraphics();

try {

cg.graphicsGeneration("ewew", "1", "12", "C:/Documents and Settings/Administrator/My Documents/My Pictures/7.jpg");

} catch (Exception e) {

e.printStackTrace();

}

}

}