`
zl4393753
  • 浏览: 340156 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

iphone UIImage 如何生成缩略图

 
阅读更多
http://brian-erickson.com/uiimage-thumbnails-in-objective-c-for-the-iph

+ (UIImage *)generatePhotoThumbnail:(UIImage *)image {
	// Create a thumbnail version of the image for the event object.
	CGSize size = image.size;
	CGSize croppedSize;
	CGFloat ratio = 64.0;
	CGFloat offsetX = 0.0;
	CGFloat offsetY = 0.0;

	// check the size of the image, we want to make it 
	// a square with sides the size of the smallest dimension
	if (size.width > size.height) {
		offsetX = (size.height - size.width) / 2;
		croppedSize = CGSizeMake(size.height, size.height);
	} else {
		offsetY = (size.width - size.height) / 2;
		croppedSize = CGSizeMake(size.width, size.width);
	}

	// Crop the image before resize
	CGRect clippedRect = CGRectMake(offsetX * -1, offsetY * -1, croppedSize.width, croppedSize.height);
	CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], clippedRect);
	// Done cropping

	// Resize the image
	CGRect rect = CGRectMake(0.0, 0.0, ratio, ratio);

	UIGraphicsBeginImageContext(rect.size);
	[[UIImage imageWithCGImage:imageRef] drawInRect:rect];
	UIImage *thumbnail = UIGraphicsGetImageFromCurrentImageContext();
	UIGraphicsEndImageContext();
	// Done Resizing

	return thumbnail;
}


或者

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/


分享到:
评论

相关推荐

    (0119)-iOS/iPhone/iPAD/iPod源代码-图像(Image)-Thumbnail Picker View

    缩略图的生成通常涉及UIImage的缩放和裁剪操作。我们可以使用UIImage的`resizedImage(withSize:)`方法来调整图像的大小,以适应预设的缩略图尺寸。为了保持图像比例,我们可能需要先计算图像的宽高比,然后根据这个...

    iphone开发图片例子

    接下来,我们探讨“缩略图”这一概念。在很多情况下,我们可能需要显示大图的缩略版本,以节省屏幕空间或提高加载速度。使用`resizableImage(withCapInsets:)`或`resizableImage(withCapInsets:resizingMode:)`方法...

    iphone 图像处理小结

    当使用这个方法时,有时可能出现缩略图可见但原图丢失的情况。确保传入的是`UIImage`类型的实例,并且注意不要保存过大的图片,以防止内存问题导致程序崩溃。 ```swift func saveImageToPhotosAlbum(image: UIImage...

    本地相册图片的读取和选择

    在`tableView:cellForRowAtIndexPath:`中,根据`ALAsset`对象创建并配置UITableViewCell,显示图片缩略图。 ```swift func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> ...

    iphone 图像处理小结.doc

    但是,如果图片过大,可能会导致保存失败或者在相册中只显示缩略图。因此,在使用这个方法时,要确保图片大小适中,避免内存问题导致的崩溃。 若希望在应用启动时自动显示之前保存的图片,可以使用`NSData`的`...

    iPhone 图像处理小结

    偶尔会出现只显示缩略图而无法查看原图的问题,可能是因为图片过大导致的内存问题。确保图片大小适中,避免程序崩溃。正确调用`UIImageWriteToSavedPhotosAlbum`,传入`UIImage`对象和代理方法,以便在保存成功或...

    IOS webview 图片弹出

    - 图片加载速度:如果图片较大,可以考虑先加载缩略图,点击后再加载全尺寸图片。 - 图片格式支持:确保你的代码能处理各种常见的图片格式,如JPEG、PNG、GIF等。 - 缓存策略:对于网络图片,可以考虑使用缓存来提高...

    ios 网页中图片点击放大效果demo

    可以采用延迟加载、按需加载、缩略图预览等策略来优化性能。此外,还可以使用如`SDWebImage`这样的第三方库来帮助处理图片加载和缓存。 8. **响应式布局**: 考虑到不同设备的屏幕尺寸和分辨率,确保图片在各种设备...

    微信效果的图片浏览器

    5. **原图与缩略图切换**:这一特性需要图片处理库,例如使用UIImage的imageWithContentsOfFile:方法加载原图,而缩略图可能是通过提前生成的低分辨率版本。 6. **自适应布局**:为了适应不同的设备屏幕尺寸,项目...

    ios截图并保存到相册

    若要保存截图到相册,只需轻点该缩略图,然后点击右下角的“保存”图标即可。如果你错过了这个机会,可以在照片应用中找到最近的截图。 然而,苹果并未提供官方API来实现自定义截图范围,但开发者可以通过Quartz 2D...

    ios-使用photokit实现仿微信相册照片选取.zip

    可以使用缩略图来减少内存占用,只在用户选择查看大图时才加载原图。此外,合理利用GCD(Grand Central Dispatch)进行异步操作,避免阻塞主线程。 8. **压力测试**:对应用进行性能测试,确保在极端情况下(如7P大...

    ios源码之超炫的电子书书架管理工具应用.rar

    CollectionView的Cell可以定制为每本书的缩略图,同时配合手势识别,实现翻页或选择功能。 5. **定制Cell和View**:为了达到“超炫”的效果,开发者可能使用了自定义UITableViewCell和UICollectionViewCell,添加...

    裁剪图像的视图类

    例如,可以使用缩略图来预览图像,仅在裁剪时加载全分辨率图像。 10. **代码组织**:MMSCropImageView作为一个自定义视图,应该遵循良好的代码组织原则,如封装和模块化,以提高可维护性和可重用性。 在提供的资源...

Global site tag (gtag.js) - Google Analytics