2013-09-05 2 views
0

나는 이미지에 android.given efects에서 OpenGl Es에서 작업하고 있는데, 이미지를 sdcard에 저장하면 이미지가 검은 색으로 표시됩니다.이 문제는 해결됩니다.안드로이드에서 sdcard에 이미지를 저장하는 방법

파일 cacheDir; Toast.makeText (ImageProcessingActivity.isis, "Photo", 500) .show();

    Bitmap icon; 
       frame.setDrawingCacheEnabled(true); 

       icon = Bitmap.createBitmap(frame.getDrawingCache()); 
       Bitmap bitmap = icon; 
       frame.setDrawingCacheEnabled(false); 
       // File mFile1 = Environment.getExternalStorageDirectory(); 
       Date d = new Date(); 
       String fileName = d.getTime() + "mg1.jpg"; 

       File storagePath = (Environment.getExternalStorageDirectory()); 
       File dest = new File(storagePath + "/CityAppImages"); 

       if (!dest.exists()) { 
       dest.mkdirs(); 

       } 

       File mFile2 = new File(dest, fileName); 
       sdpath = mFile2.getAbsolutePath(); 

       Log.d("qqqqqqqqqqqqqqqqqqqqqqq", "zzzzzzzz" + sdpath); 
       try { 
       FileOutputStream outStream; 

       outStream = new FileOutputStream(mFile2); 

       bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream); 

       outStream.flush(); 

       outStream.close(); 
       Toast.makeText(ImageProcessingActivity.this, "Photo Saved Sucessfully", 500) 
       .show(); 
       image.setImageBitmap(bitmap); 
       } catch (FileNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       } catch (IOException e) { 

       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       Toast.makeText(ImageProcessingActivity.this, "Photo Not Saved Sucessfully",500).show(); 
       } 
+0

Google지도 v2 –

답변

0

나는이 문제가 한 번 있었는데 getDrawingCache가 있어야하는 것이 아니었기 때문이었습니다. 문제는 절약이 아니라, 당신이하는 방식입니다.

귀하의 앱 화면을 캡처하고 싶다고 생각했기 때문에 매우 까다 롭고 많은 문제가 발생할 수 있습니다.

이 문제가 발생했을 때 도움이 되었기 때문에이 항목을 읽으십시오. How to programmatically take a screenshot in Android?

편집 : 또한 , 당신은 설정> 개발자 옵션>으로 이동해야 화면이 해제 하드웨어 오버레이 및 강제 GPU 렌더링을 확인 인쇄 후 GLES를 사용하고 있기 때문에.

+0

스냅 샷을 제대로 찍지 않으려 고 생각합니다. 제대로 작동하지 않습니다. 전체 화면의 스크린 아웃을 가져옵니다 .i 이미지보기 만하고 싶습니다. –

+0

안드로이드 OS 부분에서 렌더링되지 않았기 때문에 검정색입니다. 비디오 드라이버에서 렌더링됩니다. 왜냐하면이 안드로이드는 보여주고있는 것에 대한 정보가 없기 때문입니다. 이 문제가 발생했을 때 개발자 옵션에서 두 값을 확인했습니다. –

+0

사진에 필터를 적용하는 더 좋은 옵션을 찾아야합니다. Android에서 보안 및 성능상의 이유로 높은 보안을 유지하고 있기 때문에 OpenGL은 최적이 아닙니다. 일부 C 라이브러리를 찾고 ndk에서 컴파일하려고하면 성능이 충분히 좋아집니다. –

관련 문제