-2
我試圖將.dxf文件解析到JPanel上。基本上我需要一個關於JPanel.i上的dxf文件的圖形化表示,我被告知Kabeja和Ycad,但他們都不是我所需要的。我該怎麼辦。在JPanel中顯示dxf文件
我試圖將.dxf文件解析到JPanel上。基本上我需要一個關於JPanel.i上的dxf文件的圖形化表示,我被告知Kabeja和Ycad,但他們都不是我所需要的。我該怎麼辦。在JPanel中顯示dxf文件
使用此方法,您可以從dxf文件保存圖像。之後,您可以從文件中讀取圖像並將其顯示在JPanel中。
代碼使用來自http://kabeja.sourceforge.net/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import org.kabeja.dxf.DXFDocument;
import org.kabeja.parser.DXFParser;
import org.kabeja.parser.Parser;
import org.kabeja.parser.ParserBuilder;
import org.kabeja.svg.SVGGenerator;
import org.kabeja.xml.SAXSerializer;
import org.xml.sax.SAXException;
public void parseFile(String sourceFile, String destinationPath, int width, int height) throws FileNotFoundException, java.io.IOException, org.kabeja.parser.ParseException, SAXException {
lastWidth = width;
lastHeight = height;
FileOutputStream o = new FileOutputStream(destinationPath);
InputStream in = new FileInputStream(sourceFile);//your stream from upload or somewhere
Parser dxfParser = ParserBuilder.createDefaultParser();
dxfParser.parse(in, DXFParser.DEFAULT_ENCODING);
DXFDocument doc = dxfParser.getDocument();
SVGGenerator generator = new SVGGenerator();
SAXSerializer out = new org.kabeja.batik.tools.SAXPNGSerializer();
out.setOutput(o);
HashMap mHashMap = new HashMap();
mHashMap.put("width", Integer.toString(width));
mHashMap.put("height", Integer.toString(height));
generator.generate(doc, out, mHashMap);
in.close();
o.close();
}
Kabeja庫爲.dxf是CAD圖的描述。您正在問如何使用Java渲染該CAD圖形,這涉及到解析DXF的複雜文件結構並模擬AutoCAD的功能。這是一項艱鉅的任務,你已經拒絕了Kabeja和YCad。但是,所有這些都是沒有意義的,因爲無論如何,這個問題(要求提供圖書館推薦)都是無關緊要的。請訪問[幫助]並閱讀[問]。 –
你應該忽略問題而不是投票。 – chrisgeeq
您似乎誤解了 StackOverflow的目的和最終目標,它將用作問題庫和 答案,這些答案將在未來對許多人有用。一個遙遠的 次要目標是回答你的具體問題並幫助你。當 的問題被編寫成與SO的主要目標一致時, 可能會得到很多回應並吸引積極和回答。當 它不符合這些目標時,那麼SO「方式」就是downvote,因此 它不會在未來的搜索中顯示。 ...(續) –