2011-09-29 7 views
0

좋아요. 얼마나 많은 정보를 드릴 수 있을지 모르겠지만, 이상한 문제가 있습니다. Apple의 내 응용 프로그램에서 GLPaint 코드를 사용하고 있으며 PaintingView.m 코드는 Apple의 정확한 코드입니다. 어제는 모든 것이 잘 작동하고 있었고 페인트의 붓 이미지는 GLPaint와 함께 제공된 원형 입자였으며 잘 작동했습니다.GlPaint가 브러시로 이미지를 받아들이지 않습니다.

이제 입자가 사각형이되고 정사각형 입자는 파일 이름을 여기에 입력하면 GLPaint 앱에서 입자 의미를 찾을 수 없다는 것을 의미합니다. brushImage = [UIImage imageNamed : @ "Particle.png"]. CGImage; 나는 정사각형 입자를 얻을 것이다.

그래서 이것은 잘못된 것입니다. 그러나, 나는 이유를 모른다. Particle.png 이미지를 다시 덮어 쓰려고 시도하고 Xcode 프로젝트의 다른 위치에 배치했지만 작동하지 않았습니다. 나는 그것이 긴 총기라는 것을 알고 있지만, 왜 이것이 일어날 수 있는지에 대한 가능한 아이디어는 누구에게 있습니까?

답변

2

Particle.png를 정사각형이 아닌 이미지로 바꾸고 측면의 거듭 제곱이 아닌 경우 작동하지 않습니다. 예를 들어, 입자 이미지는 32x32 또는 64x64가 될 수 있지만 110x110은 될 수 없습니다. 디버깅에 관해서는

, 나는 brushImage = [UIImage imageNamed...] 후 줄에 중단 점 퍼팅 을 제안하고, brushImage의 값을 확인한다. 디버거 사용에 익숙하지 않은 경우 해당 행 바로 아래에 NSLog(@"%p", brushImage)을 던져주세요. 이미지가 nil 또는 0x0 인 경우 이미지 파일을 찾거나 디코딩 할 수 없다는 것을 알고 있습니다. 그렇지 않은 경우 문제는 설정이 아니라 코드에 있습니다.

+0

팁 주셔서 감사합니다.하지만 NSLog의 유효한 메모리 주소를 얻었으므로 다음 내용이 확실하지 않습니다. – Snowman

0

글쎄 나는이 문제를 알아 냈고 누군가에게 이런 문제가 생긴 경우에 대비해 해결책을 게시 할 것이다. 어떤 이유로 인해 그림보기 클래스가 혼란 스러울 수 있다는 것을 IB에서 중복 된 그림보기가 나타났습니다. 내가해야만하는 것은 뷰 중 하나를 삭제하는 것이 었습니다. 그런 다음 모든 것이 다시 잘되었습니다.

관련 문제