2016-06-29 26 views
2

javaFX LineChartをPNG形式で保存しようとしています。背景を透明にしたいと思います。私が行う場合:JavaFX LineChart - 透明な画像を保存

SnapshotParameters spa = new SnapshotParameters(); 
spa.setFill(Color.TRANSPARENT); 
chart.setStyle("-fx-background-color: transparent"); 
WritableImage writableImage = new WritableImage(width,height); 
spa.setTransform(Transform.scale(x,y)); 
WritableImage img= chart.snapshot(spa, writableImage);  

私はこのようなもので終わる:あなたがここに見ることができるように

img 1

は、Axisはダニやラベル透明得るが、作図領域自体は、まだバックグラウンドを持っていますグレー色。これを削除する方法はありますか?

+2

ロードアップチャート: //fxexperience.com/scenic-view/)、そのツールを使用してチャートのコンポーネントをイントロスペクションして、非透明領域を提供するものを特定します。または、JREディレクトリのjfxrt.jarからmodena.cssを抽出して、cssスタイルがチャートの背景色を設定しているか調べます。または、[CSSを使用したスタイリングチャート](http://docs.oracle.com/javafx/2/charts/css-styles.htm#CIHGIAGE)を参照してください(ただし、チャートスタイリングチュートリアルの情報の一部は時代遅れ - 透明な背景情報を提供します)。 – jewelsea

+0

@jewelseaそれは感謝しました! –

答えて

2

あなたはすでにあなたが提供する先端jewelseaでそれを行っていない場合は、以下の内容を使用してチャートにスタイルシートを追加することができます:[眺め](HTTPで

.chart > .chart-content > .chart-plot-background { 
    -fx-background-color: transparent; 
} 
関連する問題