2016-10-06 6 views
-1

スクリーンショット(線形レイアウト)を取る必要があります。そのビューのスクリーンショットを撮り、SDカード、スクリーンショットストアに1つのイメージがあります。正常に表示されますが、画像の背景色が薄くなります(白い影は薄い緑のように見えます)。グリーンシャドウ撮影時の画面表示

私はスクリーンショットを撮るために以下のコードを書いています。

Bitmap mScreenShot = null; 
mScreenShot = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
mScreenShot.setDensity(view.getResources().getDisplayMetrics().densityDpi); 
Canvas mCanvas = new Canvas(mScreenShot); 
mCanvas.drawColor(0, PorterDuff.Mode.SRC_IN); 
view.draw(mCanvas); 
ImageHelper.saveImageAsPNG(mScreenShot,filePath); 
PNG

public static boolean saveImageAsPNG(Bitmap p_bitmap, String p_destinationPath) throws Throwable 
    { 
     if (p_bitmap != null || p_destinationPath != null) 
     { 
      FileOutputStream m_out = new FileOutputStream(p_destinationPath); 
      return p_bitmap.compress(Bitmap.CompressFormat.PNG, 100, m_out); 
     } 
     return false; 
    } 

enter image description here

として画像を保存するための

方法付属のスクリーンショットで見てください。 は

答えて

0

は、あなただけのキャンバスを使用してみましたし、それに任意のパラメータを設定していない、返信用

/** 
* Captures the view and returns bitmap 
* 
* @param v 
* @return bitmap of view captured 
*/ 
public static Bitmap captureView(View v) { 
    Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(b); 
    v.draw(c); 
    return b; 
} 
+0

おかげ下に見えるが、あなたのLinerarLayoutの背景色は何 –

+1

が動作していない?があります私を助けてくださいそれは白ですか?そうでなければ、LinearLayoutの背景を白として設定してみてください。 –

+0

はい、それを試しました。実際にはキャンバスドローの問題です。その変化rgbの色 –

関連する問題