こちらに書かれたSVGの仕様によると、ryとrxが同じ場合は一方を省略できるらしい。だがSVG Converterは、ryしか書かれていない場合、arcHeightしか展開しない。が、JavaFX(javafx.scene.shape.Rectangle)はSVGがry=rxとおくように、arcWidthをarcHeightとして描画してはくれず、結果として角丸は無視され、角の尖った矩形になってしまう。
また、手入力でarcWidthを追加しても、rの具合がブラウザでsvgを表示したときより、随分小さく描画されてしまう。元のsvgはinkscapeで作った物だが、inkscapeの表示とブラウザ(firefox,chrome,safari)の表示はほぼ同じだけに、JavaFX側の問題ではないかと思えるが、fxzの仕様がよくわからないので何とも言えない。
余談だが、JavaFXがSVGをそのままレンダリングできてもいいのに、と思う。production suiteにしても、いっそイラレやフォトショのデータをそのままレンダリングできたほうがいいのに。そもそもブラウザで主要なファイルフォーマットの描画はサポートすべきではないだろうか。Office製品を含め。PDFでさえほぼAdobe頼みな状況で、オープンスタンダードなんて認めていて良いのだろうか。理由は色々あるだろうが。
表示って、ただ書くだけのような気がするけど、そんなに簡単じゃないんだね。
さらに余談だが、MediaとImageを分けるのはやめてほしい。と思ったら、Textだって分けるの止めてほしいということになり・・・つづきはあっちで。
2010年7月19日月曜日
登録:
コメントの投稿 (Atom)
SVGがそのままレンダリングできるといいですよね。Production Suitesを取り込めばできるはずですし。
返信削除ついでですが、MediaとImageは作っている会社が違うので、統一できないんです ^ ^;;
skrbさんコメントありがとうございます。
返信削除コメントが書き込まれた通知がいつのまにかOFFになっていて、全然気がつきませんでした。申し訳ありません。
MediaとImageの統一にはそういう事情があったんですか。そんなこと思いもしませんでした。すごく詳しく聞きたいです。
当時のSunにはmedia系のライブラリがなかったので、On2と契約して作ったのが Meida 関連のクラスです。イメージは Sun が作ってました。
返信削除なるほどそういう系ですか。今となってはGoogleなのがタブロイドに面白そう。なんて、うまく行ってくれないと困りますが。
返信削除