2011-08-13 4 views
0

paint.net에서 드로잉 할 수있는 .png 파일을 드로잉 가능한 리소스로 캔버스에 그려 넣으려고 시도했지만 문제가 있음을 알았습니다 ...안드로이드 프로젝트의 Drawable 리소스의 크기 또는 수에 제한이 있습니까?

몇 가지 .png를 만들려고했는데 500x500px입니다. 정상 폴더처럼 res 폴더에 복사했는데 오류가 없으며 정상적으로 컴파일되었습니다.

그러나 앱이 실행 중일 때 이미지를 100x100 픽셀로 그려야합니다.

글쎄, 드로어 런타임에 검색 할 때 null 포인터 예외로 응용 프로그램이 충돌합니다.

여기에 범인은 무엇입니까? 드로어 블 이미지가 너무 큽니까? 또는 이미지의 크기를 다시 조정할 때 제한이 있습니까?

또한 res 폴더 또는 일반적으로 크기 제한의 파일 수에는 제한이 있습니까?

편집 : 확인 여기에 몇 가지 코드는 물론 내가 많이 밖으로 떠날거야,하지만 여기에 광주 과학 기술원의 :

Drawable pic; 
pic = context.getResources().getDrawable(R.drawable.picture); 

: 나는 핸들을 만들고 그것을 올바른 자원을 제공하는 방법을

다음

이야 여기에 내가 캔버스에 그리는 방법은 다음과 같습니다

pic.setBounds(x, y, x + 100, y + 100); 
pic.draw(c); 

UPDATE

이것은 나에게 견딜 수 있습니다! 내 컴퓨터에 현지화되어 있어도 java 또는 eclipse에서 문제가 분명히 발생합니다. 몇 가지 실험을 해봤는데 문제가 영향을받을 수 있음을 발견했습니다. 드로어 블 폴더에 10 개의 이미지가 있다고 가정 해 보겠습니다. 숫자 7을 제외한 모든 이미지를 오류없이 참조 할 수 있습니다. 오류의 예는 숫자 6을 삭제하면 숫자 7이 표시되지만 번호 8은 오류가 발생한다는 것입니다. 이것은 png 파일 자체에 오류가 없다는 것을 분명히 알려주지 만, 어떻게 검색되는지에 문제가 발생합니다. 또한 이미지의 순서와 관련이 있습니다.

나는 모든 것을 시도했습니다. clean/build가 작동하지 않습니다. 심지어 전체 drawable 파일을 다시 업로드하고 오류가 여전히 동일하게 발생합니다.

PNG로 채울 수있는 드로어 블 파일에 "구멍"이있는 것처럼 거의 비슷하지만 사용할 수 없습니다. 구멍을 채운 후에는 파일이 알파벳 순서대로 구멍에 있지 않습니다. 네가 내 뜻을 알게되면.

나는 때때로 모든 참조가 잘못된 이미지를 검색하는 이상한 오류가 발생합니다. 예를 들어, 10 개의 이미지를 참조하는 10 개의 이미지에서 9를 표시하고, 9는 8을 표시하며, 8은 7을 표시하는 식으로 계속됩니다. 이 오류는 깨끗하고 재건 된 후에 사라지는 것 같지만 도움은되지만 믿을 수는 없습니다.

+0

이미지가 너무 크지 않아서 참조 나 지정에 문제가 있습니다. stacktrace와 이미지를 지정하는 코드를 게시하십시오.또한 프로젝트에 필요한 모든 버전의 이미지가 있는지 확인하십시오. drawable-hdpi로만 저장하면 ldpi 장치에서 충돌이 발생할 가능성이 높습니다. –

+0

나도 그렇게 생각했다. 아마 sytax 오류일지도 모른다. 이미지를 축소하면 잘 돌아갑니다. 이미지의 크기를 조정하려고하면 오류가 발생한다고 생각합니다. 내가 곧 몇 가지 예제를 얻을거야,하지만 난 거의 코드는 괜찮아요 긍정적이다. 그리고 아니요, 저는 밀도 특정 폴더를 사용하지 않고 "DRAWABLE"폴더 만 사용합니다. 그게 또한 그 일과 관련이 있을지 궁금합니다. – cody

+0

Pls. 코드를 게시하십시오. "OS에 거의 문제가 없다"는 나의 경험은 99 %의 경우 우리 쪽에서 어리석은 실수입니다. –

답변

0

이 문제는 이미지 자체와 관련이 없으므로 원인을 완전히 제한하지는 않았지만 오랜 시간이 걸리는 문제 해결을 통해 사진이 문제가 아님을 발견했습니다. 개인적으로 다른 오류가 있습니다. 나중에 주제에 대한보다 구체적인 질문을 게시 할 것입니다.

관련 문제