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();

}

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245524.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:09
下一篇 2024-12-12 13:09

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • 用Python繪製酷炫圖片

    在本篇文章中,我們將展示如何使用Python繪製酷炫的圖片。 一、安裝Python繪圖庫 在使用Python繪製圖片之前,我們需要先安裝Python繪圖庫。Python有很多繪圖庫…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論