2012-11-13 3 views
1

알아요 - 제목이 이상하게 들릴 수 있습니다. 설명해 드리죠 :내 비트 맵을 사용하여 비트 맵을 만듭니다.

나는 내가 무슨 말을하는지, 당신을 보여주기 위해 이미지를 만들어 : the problem

내가 이미지를 가지고 (비트 맵 (1)), 그 150w/200H의 크기.

이제 비트 맵을 더 크게 ((2) 400w/400h) 만들 필요가 있지만 원본 이미지의 크기는 동일해야합니다. 따라서 이미지는 흰색 배경에 포함됩니다.

내가 그것을 해결하는 하나 개의 방법이 생각 : 그것은 * 캔버스 을 그리는 캔버스 *의 원본 비트 맵을 그리기위한 * 큰 비트 맵 을 만들 * 캔버스를 만들 * 캔버스

의 비트 맵을 생성

나를 위해 문제는 뷰를 그리지 않고 백그라운드 스레드에서 수행해야한다는 것입니다. 나를 이해하시기 바랍니다.

+0

그러면 Thread 인스턴스를 생성하고 거기에서 수행합니다 ... 무엇이 문제입니까? – m0skit0

답변

6

아래의 코드를 사용하여 이해할 수 있습니다. smallBitmap은 원본 이미지이며, bigBitmap 최종 이미지 인 경우 :

Bitmap bigBitmap = Bitmap.createBitmap(width, height , Bitmap.Config.ARGB_8888); 
canvas = new Canvas(bigBitmap); 
canvas.drawBitmap(smallBitmap, left, top, new Paint()); 

감사합니다.

+0

적어도 비트 맵이 필요합니다. 여기에 캔버스가 있습니다. – appsthatmatter

+0

그리고 당신은'비트 맵 '을 가지고 있습니다. 'Canvas'는'bigBitmap'에 그리는 도구입니다. 위의 코드를 실행 한 후에는 'bigBitmap'안에 작은 비트 맵이 그려져 있습니다. – Luis

+0

예. 내가 틀렸어! – appsthatmatter

0

트릭을해야합니다.

  1. 스레드를 만들고 해당 스레드 객체 :
  2. 새로운 비트 맵을 작성합니다.
  3. 해당 비트 맵을 기반으로 캔버스를 만듭니다.
  4. 는 캔버스

봐라에 비트 맵을 그리기!

이 정보가 도움이되기를 바랍니다.

관련 문제