5

Androidで実行時にSVG(スケーラブルベクターグラフィックス)をビットマップに変換するにはどうすればよいですか?

可能であれば、コードの正確なチャンクまたは正確なリンクを提供してください。私は Android アプリケーション開発にまったく慣れていません。

4

2 に答える 2

9

svg-androidチュートリアルに従って、PictureDrawableSVG ファイルから を取得します。次にBitmap、 のサイズからを作成しPictureDrawable、 に渡す必要がありCanvasます。がからCanvasを描画すると、必要な現在のビットマップが実行時に描画 (作成) されます。PicturePictureDrawable

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;
于 2013-02-10T02:37:09.510 に答える
-1

ネイティブの Android アプリでこれを実行しようとしていますか? または、JavaScript を使用する Android ブラウザで?

後者の陣営にいる場合は、JavaScript を使用して SVG を解析し、結果を HTML5 キャンバス要素 (ビットマップ サーフェス) にレンダリングできます。これを行うのに役立つライブラリが 2 つあります。

これらのライブラリを使用して SVG をキャンバスにレンダリングすると、さらにキャンバスから静的な画像ファイルを取得できます。2 番目のステップの詳細については、この Stack Overflow スレッドを参照してください。

于 2012-02-17T18:16:40.667 に答える