2

batikを使用して既存のsvgファイルをpngに変換しています。残念ながら、png出力は低品質です。テキストと画像はどちらもあいまいです。このプロセスで品質を最大化する方法を教えてくれる場所を見つけることができませんでした。誰かアイデアはありますか?

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


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

2 に答える 2

1

attribute.indexedを設定してみてください

インデックス付き:PNGにのみ関連し、パレット化されたファイルの書き込みに使用されるビット数を制御します。

svgConverter.setindexed(10);のように見えると思います。

于 2011-07-26T23:34:49.740 に答える
1

私も同様の問題を抱えていましたが、何度も泣き叫んだり歯を食いしばったりした後、実行しているJVMに違いがあることがわかりました(試してみてくださいjava -version) 。

SunのJavaSE(ビルド1.6.0_24-b07)は、まともな結果をもたらしました。Linuxバージョン(CentOS)にインストールされている「標準」JVM:OpenJDK IcedTea6 1.9.8は、期待外れの結果をもたらしました。

私は実際にそれがJVMであるかどうか疑問に思っています。それは、さまざまなインストールで提供されるライブラリである可能性が高いですが、これ以上深く掘り下げる時間や熱意はありません。信頼できるPNGがついにできてうれしいです!

これがお役に立てば幸いです。

ジェームズ

于 2011-08-22T15:39:54.840 に答える