java轉成圖片
『壹』 java文本文件轉化為圖片文件怎麼弄
文件在計算機中都是以二進制保存的,但系統是以文件頭來區分各種文件格式的。
也就是說,僅僅更改後綴名是不行的。
按照你說想的,可以這么來做:
1、讀取txt文本的每一行
2、創建BufferedImage圖片,然後在圖片上畫讀取到的文本
下面給出示常式序:
測試類 TextToImageExample.java
importjava.io.File;
importjava.util.Scanner;
/**
*文本轉圖片測試類
*@authorYY29242014/11/18
*@version1.0
*/
publicclassTextToImageExample{
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);
System.out.print("輸入TXT文本名稱(例如:D:/java.txt):");
StringtextFileName=in.nextLine();
System.out.print("輸入保存的圖片名稱(例如:D:/java.jpg):");
StringimageFileName=in.nextLine();
TextToImageconvert=newTextToImage(newFile(textFileName),newFile(imageFileName));
booleansuccess=convert.convert();
System.out.println("文本轉圖片:"+(success?"成功":"失敗"));
}
}
文本轉圖片類 TextToImage.java
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.Graphics;
importjava.awt.image.BufferedImage;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.IOException;
importcom.sun.image.codec.jpeg.JPEGImageEncoder;
importcom.sun.image.codec.jpeg.JPEGCodec;
/**
*文本轉圖片類
*@authorYY29242014/11/18
*@version1.0
*/
publicclassTextToImage{
/**文本文件*/
privateFiletextFile;
/**圖片文件*/
privateFileimageFile;
/**圖片*/
privateBufferedImageimage;
/**圖片寬度*/
privatefinalintIMAGE_WIDTH=400;
/**圖片高度*/
privatefinalintIMAGE_HEIGHT=600;
/**圖片類型*/
privatefinalintIMAGE_TYPE=BufferedImage.TYPE_INT_RGB;
/**
*構造函數
*@paramtextFile文本文件
*@paramimageFile圖片文件
*/
publicTextToImage(FiletextFile,FileimageFile){
this.textFile=textFile;
this.imageFile=imageFile;
this.image=newBufferedImage(IMAGE_WIDTH,IMAGE_HEIGHT,IMAGE_TYPE);
}
/**
*將文本文件里文字,寫入到圖片中保存
*@returnbooleantrue,寫入成功;false,寫入失敗
*/
publicbooleanconvert(){
//讀取文本文件
BufferedReaderreader=null;
try{
reader=newBufferedReader(newFileReader(textFile));
}catch(FileNotFoundExceptione){
e.printStackTrace();
returnfalse;
}
//獲取圖像上下文
Graphicsg=createGraphics(image);
Stringline;
//圖片中文本行高
finalintY_LINEHEIGHT=15;
intlineNum=1;
try{
while((line=reader.readLine())!=null){
g.drawString(line,0,lineNum*Y_LINEHEIGHT);
lineNum++;
}
g.dispose();
//保存為jpg圖片
FileOutputStreamfos=newFileOutputStream(imageFile);
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(fos);
encoder.encode(image);
fos.close();
}catch(IOExceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
/**
*獲取到圖像上下文
*@paramimage圖片
*@returnGraphics
*/
privateGraphicscreateGraphics(BufferedImageimage){
Graphicsg=image.createGraphics();
g.setColor(Color.WHITE);//設置背景色
g.fillRect(0,0,IMAGE_WIDTH,IMAGE_HEIGHT);//繪制背景
g.setColor(Color.BLACK);//設置前景色
g.setFont(newFont("微軟雅黑",Font.PLAIN,12));//設置字體
returng;
}
}
特別注意:程序中使用到了com.sun.image.codec.jpeg.JPEGImageEncoder和 com.sun.image.codec.jpeg.JPEGCodec ,這 兩個是sun的專用API,Eclipse會報錯。
解決辦法:
Eclipse軟體,Windows->Preferences->Java->Complicer->Errors/Warnings,Deprecated and restricted API->Forbidden reference 改為 Warnning。
如果還是報錯,在工程上build path,先移除JRE System Library,然後再添加JRE System Library。
『貳』 用java怎麼將word文檔轉成圖片格式
可以使用Spire.Doc for Java在Java中利用代碼進行轉換。需要在 Java 程序中添加Free Spire.Doc.jar文件作為依賴項。可以從這個鏈接下載 JAR 文件;如果使用Maven,則可以通過在 pom.xml 文件中添加以下代碼導入 JAR 文件。
repositories>
<repository>
<id>com.e-iceblue</id>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository></repositories><dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>5.2.3</version>
</dependency></dependencies>
Java代碼如下:
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.ImageType;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ConvertWordToOtherFormats {
public static void main(String[] args) throws IOException {
//創建Document對象
Document doc = new Document();
//載入Word文檔
doc.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");
//將指定頁保存為BufferedImage
BufferedImage image= doc.saveToImages(0, ImageType.Bitmap);
//將圖片數據保存為PNG格式文檔
File file= new File("output/ToPNG.png");
ImageIO.write(image, "PNG", file);
//將Word保存為SVG格式
doc.saveToFile("output/ToSVG.svg",FileFormat.SVG);
//將Word保存為RTF格式
doc.saveToFile("output/ToRTF.rtf",FileFormat.Rtf);
//將Word保存為XPS格式
doc.saveToFile("output/ToXPS.xps",FileFormat.XPS);
//將Word保存為XML格式
doc.saveToFile("output/ToXML.xml",FileFormat.Xml);
//將Word保存為TXT格式
doc.saveToFile("output/ToTXT.txt",FileFormat.Txt);
}
}
『叄』 java如何將連續的位元組數據轉成圖片數據
java是可以將圖片位元組轉成圖片的,但是你需要知道接受的數據對應一個圖片有多長,可以在每個圖片數據包前面加上此次圖片的長度,按長度截取位元組,轉成圖片,或者直接將位元組轉成視頻,畢竟你是連續的圖像
『肆』 java中如何將位元組數組轉化成圖片
java將byte數組轉換成圖片,可以File和IO操作來完成,實例如下:
//byte數組到圖片到硬碟上 public void byte2image(byte[] data,String path){ if(data.length<3||path.equals("")) return;//判斷輸入的byte是否為空 try{ FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));//打開輸入流 imageOutput.write(data, 0, data.length);//將byte寫入硬碟 imageOutput.close(); System.out.println("Make Picture success,Please find image in " + path); } catch(Exception ex) { System.out.println("Exception: " + ex); ex.printStackTrace(); } }
『伍』 如何用java轉換圖像格式為jpg
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
public class ImageFormat {
public static void main(String[] args) {
File file = new File("c:\\test.jpg");
changFormat(file, "png", new File("c:\\test.png"));// 轉為png
changFormat(file, "bmp", new File("c:\\test.bmp"));// 轉為bmp
//changFormat(file, "jpeg", new File("c:\\test.jpg"));// 轉為jpg
changFormat(file, "gif", new File("c:\\test.gif"));// 轉為gif
}
//第一個參數 原圖的File對象 第二個參數 目標格式 第三個參數 輸出圖像的File對象
public static void changFormat(File srcFile, String format, File formatFile) {
try {
BufferedImage srcImg = ImageIO.read(srcFile);// 讀取原圖
ImageIO.write(srcImg, format, formatFile);// 用指定格式輸出到指定文件
} catch (IOException e) {
e.printStackTrace();
}
}
}
『陸』 Java怎麼把PDF轉化成圖片
表示不會使用Java將pdf轉換成圖片,但是要將pdf轉換成圖片可以使用專業的pdf轉換工具啊。
大致的轉換方法如下:
打開並運行迅捷pdf轉換器,選擇PDF轉成其他文件中的「轉成圖片」選項;
『柒』 java如何生成圖片
java.awt.image.BufferedImage
javax.imageio.ImageIO
//獲得Graphics
Graphics graphics = BufferedImage.getGraphics()
//將BufferedImage 寫到文件流中
ImageIO.write(BufferedImage , "JPEG", OutputStream);
『捌』 java可以將字元串轉化為圖片嗎
可以! 但不能把字元串轉化為圖片格式哦 只能把字元串寫在圖片上 形成圖片
//創建一張圖片
BufferedImage image = new BufferedImage(150,30,BufferedImage.TYPE_INT_RGB);
//得到圖片
Graphics2D g = (Graphics2D)image.getGraphics();
g.setColor(getRandColor(160, 200));
g.fillRect(0, 0, 200, 30);
//向圖片上寫寫數據
g.setColor(Color.blue);//設置圖片顏色
g.setFont(new Font("隸書",Font.ITALIC,20));
//把想要寫的字元串畫在圖片上
String code = "^^^^^^^^^^^^^^^^"
g.drawString(code, 10, 25);//畫圖片
request.getSession().setAttribute("code", code);//把圖片存在session中
ImageIO.write(image,"jpg", response.getOutputStream());//輸出圖片
}
『玖』 java pdf轉圖片問題
搜索添加spire.pdf.jar文件為依賴,pdf轉圖片代碼如下:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import com.spire.pdf.PdfDocument;
import javax.imageio.ImageIO;
public class toImage {
public static void main(String[] args) throws IOException {
//載入PDF文件
PdfDocument doc = new PdfDocument();
doc.loadFromFile("Sample.pdf");
//保存PDF的每一頁到圖片
BufferedImage image;
for (int i = 0; i < doc.getPages().getCount(); i++) {
image = doc.saveAsImage(i);
File file = new File( String.format("ToImage-img-%d.png", i));
ImageIO.write(image, "PNG", file);
}
doc.close();
}
}
『拾』 Java如何轉換圖片的格式
package ImageIO;import java.awt.Color;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class ConvertImageFile {
public static void main(String[] args) {
BufferedImage bufferedImage; try { //1.讀取圖片
bufferedImage = ImageIO.read(new File("D:\\1.png")); //2.創建一個空白大小相同的RGB背景
BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(),
bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.WHITE, null); //3.再次寫入的時候以jpeg圖片格式
ImageIO.write(newBufferedImage, "jpg", new File("D:\\1.jpg"));
System.out.println("成功將png格式圖片轉換為jpg格式");
} catch (IOException e) {
e.printStackTrace();
}
}
}