zoukankan      html  css  js  c++  java
  • 通过ImageIO创建任意大小图片缩略图(image thumbnail)

    创建图片缩略图有可以通过QuartzCore的UIGraphicsGetImageFromCurrentImageContext获取,这种方法需要提前计算好图片的长宽比。其实,ImageIO库提供了一个更为方便的方法,Apple的Documentation里甚至写好了一个方法:CGImageRef MyCreateThumbnailImageFromData (NSData * data, int imageSize)【可以通过搜索apple的文档找到】。不过,文档里的函数里写错了一个参数,以致无法取得thumbnailImage,函数返回的图片的大小始终是原始图片的大小。错误的地方是
     1 // Set up the thumbnail options.
     2    myKeys[0] = kCGImageSourceCreateThumbnailWithTransform;
     3    myValues[0] = (CFTypeRef)kCFBooleanTrue;
     4    myKeys[1] = kCGImageSourceCreateThumbnailFromImageIfAbsent;
     5    myValues[1] = (CFTypeRef)kCFBooleanTrue;
     6    myKeys[2] = kCGImageSourceThumbnailMaxPixelSize;
     7    myValues[2] = (CFTypeRef)thumbnailSize;
     8  
     9  myOptions = CFDictionaryCreate(NULL, (const void **) myKeys,
    10                    (const void **) myValues, 2,
    11                    &kCFTypeDictionaryKeyCallBacks,
    12                    & kCFTypeDictionaryValueCallBacks);

    改为3即可。kCGImageSourceThumbnailMaxPixelSize 是用来设置图片的长/宽像素最大尺寸的。可以为UIImage创建一个category,在其中增加方法


    1 - (UIImage *) createThumbnailImageWithImageSize:(int) imageSize;
    2 {
    3     CGImageRef imagreRef = MyCreateThumbnailImageFromData(UIImagePNGRepresentation(self), imageSize);
    4     return [UIImage imageWithCGImage:imagreRef];
    5 }

     

  • 相关阅读:
    Linux内核编译
    Linux系统启动流程(2)
    Linux系统启动流程及grub重建(1)
    shell函数
    css基础
    前端之练习抽屉首页
    css简单分页
    mysql索引提高查询速度
    html基础
    博客园css样式代码
  • 原文地址:https://www.cnblogs.com/junay/p/2950948.html
Copyright © 2011-2022 走看看