苹果手机。如何更改大UIImage的个别像素?

时间:2010-07-20 08:04:56

标签: cocoa-touch

我使用UIScrollView,它放大和滚动UIImageView,它包含UIImage,它从CGImage获取像素。 CGImage的大小可以是大约5000x2000像素 1)这是缩放和滚动大图像的正确方法吗?

某些逻辑可能会周期性地改变CGImage中的某个区域(rect) 2)如何在不使用处理器(整个图像娱乐)的情况下在CGImage中更改单个像素?

1 个答案:

答案 0 :(得分:0)

我的解决方案:

  • 我创建了CGBitmapContext,用于以XRGB格式存储大图像。
  • 子类UIView用于覆盖drawRect:表示我的图像

定期更新:

  • 更新一些rect
  • 调用[setNeedsDisplayInRect:rect]
[drawRect:rect]中的

执行:

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

这对我来说很好用