2010-07-20 3 views
0

나는 CGImage에서 픽셀을 취하는 UIImage가 포함 된 UIImageView를 확대/축소하는 UIScrollView를 사용합니다. CGImage의 크기는 약 5000x2000 픽셀 일 수 있습니다. 1) 큰 이미지를 확대/축소하고 스크롤하는 올바른 방법입니까?iPhone. 어떻게 큰 CGImage의 개별 픽셀을 바꿀까요?

일부 로직은 주기적으로 CGImage에서 변경 될 수 있습니다. 2) 프로세서 사용량 (전체 이미지 레크리에이션)없이 CGImage의 개별 픽셀을 어떻게 변경할 수 있습니까?

답변

0

내 솔루션 :

  • 내가 XRGB 포맷에 큰 이미지를 저장하는 CGBitmapContext을 만들 수 있습니다. 재정의 drawRect에 대한
  • 서브 클래스 UIView의 : 표현 내 이미지

업데이트를 정기적으로 그렇게 :

  • 갱신 일부 RECT
  • 호출 [setNeedsDisplayInRect : RECT]

의를 [ drawRect : rect] do :

CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGImageRef imgAll = CGBitmapContextCreateImage(m_BmpContext); 
    CGImageRef imgRect = CGImageCreateWithImageInRect(imgAll, rect); 
    CGContextDrawImage(g, rect, imgRect); 
    CGImageRelease(imgRect); 
    CGImageRelease(imgAll); 

그리고 나에게 잘 맞습니다.

관련 문제