2011-07-26 34 views
1

我使用蠟染將現有的svg文件轉換爲PNG。不幸的是,PNG輸出質量低。文字和圖像都是模糊的。我無法找到任何能夠告訴我如何在這個過程中最大限度地提高質量的地方。有沒有人有任何想法?使用從SVG到蠟染的SVG轉換器的圖像質量差

 SVGConverter svgConverter = new SVGConverter(); 
     svgConverter.setMaxWidth(580); 
     svgConverter.setDestinationType(DestinationType.PNG); 
     svgConverter.setSources(new String[]{ svgSource.toURI().toURL().toString() }); 


     svgConverter.setDst(outputPng); 
     svgConverter.execute(); 

回答

0

我也有類似的問題,經過多次哀嚎和咬牙切齒,我發現它做的JVM,我跑的差異(試行java -version

Sun的Java SE(建立1.6.0_24-B07)給了我體面的結果。安裝在我的Linux版本(CentOS)上的'標準'JVM:OpenJDK IcedTea6 1.9.8給出了令人失望的結果。

我真的懷疑它是JVM,它更可能是一些圖書館提供不同的安裝,但我沒有時間或熱情深入挖掘。我很高興我終於擁有了一些可靠的PNG!

我希望這對你有一些用處。

James

+0

我們最終完全廢除了svg文件的使用,但是如果我被迫再次處理這個問題,我會研究一下。 :) – Kurt

0

你應該嘗試設置attribute.indexed

索引:有關只爲PNG,控制在一個托盤文件書面方式使用的比特數。

我想它看起來像 svgConverter.setindexed(10);

+0

我試過,但沒有看到區別。我嘗試了另外兩種可能有用的方法,但它們似乎也沒有幫助。可能是因爲我不知道什麼價值會有所幫助。我已經嘗試了真正的大數字和非常小的數字,但沒有明顯區別:setPixelUnitToMillimeter(float pixelUnitToMillimeter)和setQuality(float quality)。 setQuality適用於JPEG文件,但如果我實際上可以提高質量,我願意切換到JPEG。我認爲必須有一種方法來做到這一點,否則沒有人會使用蠟染。 – Kurt