图像的缩略图视图

4 iphone objective-c

我想在View控制器中显示一些图像作为缩略图,但我不知道如何做到这一点.如果可能的话,任何人都可以给我一些想法或示例代码.

Tyl*_*ler 36

您是在询问如何从较大的图像创建缩略图,还是如何构建一个可以很好地显示它们的视图控制器?

构建视图控制器:

你可以使用TTPhotoViewController该Three20项目(描述),其作用类似于iPhone的内置摄像头滚动查看图像.

您可以查看来自apple Scrolling示例代码,在此问题中提及有关将其用于缩略图示例代码.

如果你想自己构建一个,你可以考虑使用GridView来自moriarty库的a,作为一个大的网格UIScrollView,或者在一个更高效的逐行中UITableView.有一个关于优化图像加载UIScrollView的先前问题.

从较大的图像创建缩略图:

缩小图像的代码最简单的方法是简单地将其显示在UIImageView一个框架中,框架设置为您想要的较小尺寸 - 它是为您缩放的.

如果要保存缩略图或关心内存使用情况,可以创建硬盘版本.以下示例代码取自此博客文章,可以UIImage作为类别方法添加:

- (UIImage*) imageScaledToSize: (CGSize) newSize {
  UIGraphicsBeginImageContext(newSize);
  [self drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
  UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

  return newImage;
}
Run Code Online (Sandbox Code Playgroud)

最后,这是关于屏蔽图像上圆角的上一个问题,类似于主屏幕上使用的应用程序图标.

添加

使用图像的内置缩略图:

这是一个很好的函数CGImageSourceCreateThumbnailAtIndex,可以理解某些图像数据格式的内置缩略图.您可以在Apple 的"图像I/O编程指南"中的"图像源创建缩略图图像"下看到一些有用的示例代码.