在 Android 中,
可以搭配 FileOutputStream 與 Bitmap.compress,
將 Canvas 圖畫儲存成圖檔,
範例, 如下:
Java 程式碼
public class helloWorld extends Activity {
Bitmap vBitmap = Bitmap.createBitmap( 320
, 480
, Bitmap.Config.RGB_565
);
Canvas vBitmapCanvas = new Canvas( vBitmap );
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( new View(this){
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
// 設定繪圖樣式
Paint vPaint = new Paint(); // 繪製樣式物件
vPaint.setColor( 0xff00ffff ); // 畫筆顏色
vPaint.setAntiAlias( true ); // 反鋸齒
vPaint.setStyle( Paint.Style.STROKE );
// 繪製一個弧形
vBitmapCanvas.drawArc(new RectF(60, 120, 260, 320), 0, 240, true, vPaint );
// 把 Bitmap 繪製到 Canvas 上
canvas.drawBitmap( vBitmap, 0, 0, null );
try {
// 輸出的圖檔位置
FileOutputStream fos = new FileOutputStream( "/sdcard/tomkuo139/draw.png" );
// 將 Bitmap 儲存成 PNG / JPEG 檔案格式
vBitmap.compress( Bitmap.CompressFormat.PNG, 100, fos );
// 釋放
fos.close();
}
catch (IOException e)
{}
}
});
}
}
儲存結果 :

