如何能在iphone / iPad上高效地看超大图像(如地理、医学类图像),
Jpeg2000和kakadu能很好的实现这一功能,下图基本实现了窗宽窗位、缩放、平移。
渲染采用OpenGL ES。
值得注意的是,和PC不一样,解码最好放在主线程里,否则会死锁。
这一点还不能解释,俺对iOS同步机制的理解还不是很深入。
class CJP2ImageNotifier : public kdu_client_notifier {
public:
CJP2ImageNotifier(CJP2Image* jp2Image, NSObject* observerView) : Jp2Image(jp2Image), View(observerView) {
}
virtual void notify() {
[View performSelectorOnMainThread:@selector(onNotify)
withObject:nil
waitUntilDone:NO];
}
private:
NSObject* View;
CJP2Image* Jp2Image;
};