0

SurfaceView를 사용하여 두 비트 맵 그림을 화면 위로 이동합니다. 나는이 시도 :캔버스를 비트 맵으로 변환하여 sdCard에 저장하는 방법

가능이 같은 SD 카드에 캔버스를 저장하는 방법
... 
@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 

    ... 

    canvas.drawBitmap(bitmap,matrix,paint); 
    canvas.drawBitmap(bitmap2,matrix,paint); 
} 
... 

?

public saveCanvasIntoSdCard(Canvas canvas) 
{ 

} 

답변

4

솔루션 나는 발견

public Bitmap getBitmap() { 
    Bitmap bmOverlay = Bitmap.createBitmap(bitmap2.getWidth(), bitmap2.getHeight(), bitmap2.getConfig()); 
    Canvas canvas = new Canvas(bmOverlay); 
    canvas.drawBitmap(bitmap, matrix, null); 
    canvas.drawBitmap(bitmap2, 0, 0, null); 
    return bmOverlay; 
} 

public void save(View view){ 
    String root = Environment.getExternalStorageDirectory().toString(); 
    File myDir = new File(root + "/dress");  
    myDir.mkdirs(); 

    String fname = "save.jpg"; 
    File file = new File (myDir, fname); 
    if (file.exists()) file.delete(); 
    try { 
    FileOutputStream out = new FileOutputStream(file); 
    getBitmap().compress(Bitmap.CompressFormat.JPEG, 100, out); 
    out.flush(); 
    out.close(); 

    } catch (Exception e) { 
    e.printStackTrace(); 
    } 

} 
+1

무슨 행렬? 그것을 단위 행렬입니까? – Hector

관련 문제