Androidで実行時にSVG(スケーラブルベクターグラフィックス)をビットマップに変換するにはどうすればよいですか?
可能であれば、コードの正確なチャンクまたは正確なリンクを提供してください。私は Android アプリケーション開発にまったく慣れていません。
Androidで実行時にSVG(スケーラブルベクターグラフィックス)をビットマップに変換するにはどうすればよいですか?
可能であれば、コードの正確なチャンクまたは正確なリンクを提供してください。私は Android アプリケーション開発にまったく慣れていません。
svg-androidチュートリアルに従って、PictureDrawable
SVG ファイルから を取得します。次にBitmap
、 のサイズからを作成しPictureDrawable
、 に渡す必要がありCanvas
ます。がからCanvas
を描画すると、必要な現在のビットマップが実行時に描画 (作成) されます。Picture
PictureDrawable
PictureDrawable pictureDrawable = svg.createPictureDrawable();
Bitmap bitmap = Bitmap.createBitmap(pictureDrawable.getIntrinsicWidth(), pictureDrawable.getIntrinsicHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawPicture(pictureDrawable.getPicture());
currentBitmap = bitmap;
ネイティブの Android アプリでこれを実行しようとしていますか? または、JavaScript を使用する Android ブラウザで?
後者の陣営にいる場合は、JavaScript を使用して SVG を解析し、結果を HTML5 キャンバス要素 (ビットマップ サーフェス) にレンダリングできます。これを行うのに役立つライブラリが 2 つあります。
これらのライブラリを使用して SVG をキャンバスにレンダリングすると、さらにキャンバスから静的な画像ファイルを取得できます。2 番目のステップの詳細については、この Stack Overflow スレッドを参照してください。