2012-07-14 2 views
0

음,Android에서 이미지를 수정하는 방법에 대한 자습서가 있습니까?

내 앨범에서 일부 사진을 선택한 다음이 사진에 다른 이미지를 추가 할 응용 프로그램을 개발 중입니다. 그 다음에 "저장"버튼이 생기면 사용자가 이미지를 편집 한 후 jpg 형식의 "최종"이미지를 저장하게됩니다. 내 문제는 내가 선택한 이미지를 표시하고 그 이미지에 다른 이미지를 추가하여 변경 한 다음 저장하는 것입니다. 화면에 하나의 이미지를 표시하고 다른 이미지를 저장하는 데 필요한 자습서를 찾았습니다. 이미지를 하나의 이미지로 저장하고 마지막 이미지를 저장합니다. 누군가가 문제를 해결하는 방법을 알고 있습니까?

답변

0

현재 이미지 위에 추가 한 이미지에 비트 맵을 사용하고 있습니까? 그렇다면이 기능을 사용해보십시오. 기본적으로 화면에서 터치 이벤트를 감지하고 터치 이벤트의 X 및 Y 좌표를 가져온 다음 원본 이미지, 상단에 추가 할 이미지 원본 이미지, X 좌표 및 Y 좌표. 당신은 화면의 스냅 샷을 사용할 수있는 것보다 내가 같은 문제에 직면했지만 지금은 당신이 캡처 화면을 사용하고 sdcard.If 캡처 화면이 작동하지에서 비트 맵을 저장할 수 있습니다 solved.For 솔루션의 예

public Bitmap drawableOnImage(Bitmap imageBackground, Bitmap itemOnImage, 
             int xScreenOffset, int yScreenOffset) 
{ 

Canvas canvas = new Canvas(imageBackground); 
canvas.drawBitmap(imageBackground, 0, 0, null); 

canvas.drawBitmap(itemOnImage, xScreenOffset, yScreenOffset, null); 

return Bitmap.createBitmap(imageBackground); 

} 
+0

을 gdluck 요네 전화 야 OK 도움이 희망

 View v1 = L1.getRootView(); v1.setDrawingCacheEnabled(true); Bitmap bm = v1.getDrawingCache(); 

확인 스냅 샷에 사용할 수있는 코드 이미지 저장 중 ... 내 알갱이에서 사진을 골라 내 활동에 표시합니다 ... 다른 이미지를 추가 한 다음 이미지를 저장하려고하면 이미지의 일부만이 전제에 있습니다. 화면에 ... 전체 전체 이미지가 아니라 .. 무엇이 될 수 있는지 아십니까? – Igor

+0

@Igor "전체 이미지가 아닌 화면의 전제에 이미지의 일부만 저장하는 중입니다"라고 친절하게 설명해 주시겠습니까? 배경 이미지 (앨범의 사진)가 저장되고 위에 추가 된 이미지가 아닌 것을 의미합니까? 또는 상단에 추가 한 이미지가 배경 이미지가 아닌 앨범에 저장되었다고 말하고 싶습니까? 아니면 다른 말을하고 싶습니까? 설명해주십시오 : –

0

은 나야 코드에 대한 작업 괜찮아요 이렇게 : -

// XML 레이아웃 파일의 루트 레이아웃 LinearLayout L1 = (LinearLayout) findViewById (R.id.LinearLayout01);

// 당신은 내가 지금은에 문제가있어 ... 그것은 이미 그 부분을 해결 한

+0

sdcard에 이미지 저장하기 당신은 이것을 사용할 수 있습니다 : File file = new File (Environment.getExternalStorageDirectory() + "/ imagename.png"); \t \t \t \t \t \t \t \t \t 경우 (file.exists())는 File.delete(); \t \t \t \t \t \t \t \t \t 시도 { \t \t \t \t \t \t \t \t \t의 FileOutputStream 아웃 = 새로운 FileOutputStream에 (파일); \t \t \t \t \t \t \t \t \t bitmap1.compress (Bitmap.CompressFormat.PNG, 90, out); \t \t \t \t \t \t \t \t \t out.flush(); \t \t \t \t \t \t \t \t \t out.close(); \t \t \t \t \t \t \t \t \t} 캐치 (예외 E) { \t \t \t \t \t \t \t \t \t e.printStackTrace(); \t \t \t \t \t \t \t \t \t} –

관련 문제