需要插件,不過(guò)myeclipse 里是自帶的吧.
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供九臺(tái)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為九臺(tái)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
File ----- New -------- UML Model Repository
然后轉(zhuǎn)到MyEclipse UML 視圖,然后菜單上點(diǎn)擊UML——〉Reverse Engineer UML form java.... 然后把要轉(zhuǎn)換為UML的JAVA文件前面打鉤 就可以了。
文件在計(jì)算機(jī)中都是以二進(jìn)制保存的,但系統(tǒng)是以文件頭來(lái)區(qū)分各種文件格式的。
也就是說(shuō),僅僅更改后綴名是不行的。
按照你說(shuō)想的,可以這么來(lái)做:
1、讀取txt文本的每一行
2、創(chuàng)建BufferedImage圖片,然后在圖片上畫讀取到的文本
下面給出示例程序:
測(cè)試類 TextToImageExample.java
import?java.io.File;
import?java.util.Scanner;
/**
*?文本轉(zhuǎn)圖片測(cè)試類
*?@author?YY2924?2014/11/18
*?@version?1.0
*/
public?class?TextToImageExample?{
public?static?void?main(String[]?args)?{
Scanner?in?=?new?Scanner(System.in);
System.out.print("輸入TXT文本名稱?(例如:?D:/java.txt?):");
String?textFileName?=?in.nextLine();
System.out.print("輸入保存的圖片名稱?(例如:?D:/java.jpg):");
String?imageFileName?=?in.nextLine();
TextToImage?convert?=?new?TextToImage(new?File(textFileName),?new?File(imageFileName));
boolean?success?=?convert.convert();
System.out.println("文本轉(zhuǎn)圖片:"?+?(success???"成功"?:?"失敗"));
}
}
文本轉(zhuǎn)圖片類 TextToImage.java
import?java.awt.Color;
import?java.awt.Font;
import?java.awt.Graphics;
import?java.awt.image.BufferedImage;
import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.FileReader;
import?java.io.IOException;
import?com.sun.image.codec.jpeg.JPEGImageEncoder;
import?com.sun.image.codec.jpeg.JPEGCodec;
/**
*?文本轉(zhuǎn)圖片類
*?@author?YY2924?2014/11/18
*?@version?1.0
*/
public?class?TextToImage?{
/**?文本文件??*/
private?File?textFile;
/**?圖片文件?*/
private?File?imageFile;
/**?圖片?*/
private?BufferedImage?image;
/**?圖片寬度??*/
private?final?int?IMAGE_WIDTH?=?400;
/**?圖片高度?*/
private?final?int?IMAGE_HEIGHT?=?600;
/**?圖片類型??*/
private?final?int?IMAGE_TYPE?=?BufferedImage.TYPE_INT_RGB;
/**
*?構(gòu)造函數(shù)
*?@param?textFile?文本文件
*?@param?imageFile?圖片文件
*/
public?TextToImage(File?textFile,File?imageFile){
this.textFile?=?textFile;
this.imageFile?=?imageFile;
this.image?=?new?BufferedImage(IMAGE_WIDTH,?IMAGE_HEIGHT,?IMAGE_TYPE);
}
/**
*?將文本文件里文字,寫入到圖片中保存
*?@return?boolean??true,寫入成功;false,寫入失敗
*/
public?boolean?convert()?{
//讀取文本文件
BufferedReader?reader?=?null;
try?{
reader?=?new?BufferedReader(new?FileReader(textFile));
}?catch?(FileNotFoundException?e)?{
e.printStackTrace();
return?false;
}
//獲取圖像上下文
Graphics?g?=?createGraphics(image);
String?line;
//圖片中文本行高
final?int?Y_LINEHEIGHT?=?15;
int?lineNum?=?1;
try?{
while((line?=?reader.readLine())?!=?null){
g.drawString(line,?0,?lineNum?*?Y_LINEHEIGHT);
lineNum++;
}
g.dispose();
//保存為jpg圖片
FileOutputStream?fos?=?new?FileOutputStream(imageFile);
JPEGImageEncoder?encoder?=?JPEGCodec.createJPEGEncoder(fos);
encoder.encode(image);
fos.close();
}?catch?(IOException?e)?{
e.printStackTrace();
return?false;
}
return?true;
}
/**
*?獲取到圖像上下文
*?@param?image?圖片
*?@return?Graphics
*/
private?Graphics?createGraphics(BufferedImage?image){
Graphics?g?=?image.createGraphics();
g.setColor(Color.WHITE);?//設(shè)置背景色
g.fillRect(0,?0,?IMAGE_WIDTH,?IMAGE_HEIGHT);//繪制背景
g.setColor(Color.BLACK);?//設(shè)置前景色
g.setFont(new?Font("微軟雅黑",?Font.PLAIN,?12));?//設(shè)置字體
return?g;
}
}
特別注意:程序中使用到了com.sun.image.codec.jpeg.JPEGImageEncoder和 com.sun.image.codec.jpeg.JPEGCodec ,這 兩個(gè)是sun的專用API,Eclipse會(huì)報(bào)錯(cuò)。
解決辦法:
Eclipse軟件,Windows-Preferences-Java-Complicer-Errors/Warnings,Deprecated and restricted API-Forbidden reference 改為 Warnning。
如果還是報(bào)錯(cuò),在工程上build path,先移除JRE System Library,然后再添加JRE System Library。
用css樣式定義圖片的寬度和高度;但是這也需要看你圖片的格式,圖片定義寬度和高度后會(huì)失貞,建議采用gif格式的圖片。
1.打開(kāi)保存有圖片的word文檔。
2.
在文件菜單中選擇另存為。
3.將文件另存為htm或html格式的網(wǎng)頁(yè)。
4.打開(kāi)保存文件夾,可以看到保存網(wǎng)頁(yè)的位置會(huì)有一個(gè)files的文件夾。
5.打開(kāi)這個(gè)文件夾,可以看到,word文檔中的圖片都被以png格式保存到這個(gè)文件夾里,圖片文件名的前綴是image,并且按順序進(jìn)行了命名。
工具多得很呢
Rational Rose逆向工程,Trufun建模工具,MyEclipse插件中的UML建模部分支持直接拖放,還有其他一些UML的Eclipse插件都可以的
用UML建模工具
去下個(gè)rose工具就可以了
用rose中的逆向工程就能實(shí)現(xiàn)代碼轉(zhuǎn)為類圖
用rose中的正向工程就能實(shí)現(xiàn)類圖轉(zhuǎn)為代碼