마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

원하는 그림파일 인쇄하기

0 추천

제가 원래는 지금 유니티에서 작업중입니다. 유니티에서 게임을 실행하고 결과를 프린터로 출력하고 싶은데, 게임화면을 캡쳐해서 저장하는데까지는 되는데 인쇄를 어떻게 해야할지 모르겠습니다. 안드로이드에서 인쇄하는 기능이 있는데, 공식 홈페이지에 있는 코드를 따라 했는데,

private void doPhotoPrint() {
    PrintHelper photoPrinter = new PrintHelper(getActivity());
    photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.droids;
    photoPrinter.printBitmap("droids.jpg - test print", bitmap);
}

getActivity() 
            R.drawable.droids

 두군데가 에러고, bitmap이 아닌 유니티에서 intent로 파일정보를 던져주면 그걸 출력하고 싶습니다..

파일 경로정보를 아무래도 string으로 보내는데 파일경로를 찍었을때 안드로이드 홈페이지에서 보여주는 예시 uri 형식과 다른것같습니다. 그래서 이게 맞는지도 잘 모르겠고.. 

그리고 printBitmap의 첫번째 인자의 이름은 중요하지 않은건가요?...

soran (200 포인트) 님이 2017년 9월 21일 질문

1개의 답변

+1 추천

getActivity()는 보통 이 코드를 사용하는 클래스가 프레그먼트일때 사용됩니다.

따라서 만약에 이 코드를 사용하는 게 activity라면, activity이름.this로 바꾸면 에러가 사라질 겁니다.

두번째는 R.drawable.droids); 가로가 빠져서 나는 오류인 것 같네요.

getResources() 를 activity이름.this.getResources()로 바꾸어야 할 것 같네요.

 

 

Will Kim (43,170 포인트) 님이 2017년 9월 22일 답변
.this는 덕분에 해결을 했습니다.. 근데 droids는 제가 질문을 올리면서 실수로 괄호를 지운부분이라 droids만 붉은 글씨가 뜨는데 제가 따로 뭘 해줘야하는부분이 있는건가요 ㅠㅠ?
droids 만 붉은 색이라면, drawable 밑에 droids라는 이름이 실제로 존재하는지 오탈자인지 확인해 봐야 할 것 같은데요.
붉은 색으로 되어 있는 곳에 커서나 alt + Enter를 치면 뭐라고 나오는지 화면 캡쳐 같은 것을 해 보세요.
...