如何从iphone中的png文件中检索单个图像

Posted

技术标签:

【中文标题】如何从iphone中的png文件中检索单个图像【英文标题】:How to retrive single image from png file in iphone 【发布时间】:2013-05-16 07:12:17 【问题描述】:

如果.png 文件中有单个图像,我可以使用[UIImage imageNamed:@"nameOfPng.png"]; 访问图像。但是如果我们在 .png 文件中有多个图像,我们如何从单个 UIImage 访问子图像?

这是单个 .png 文件。如果我想获得红色按钮图像或任何其他按钮图像,我该怎么做。

【问题讨论】:

如果不使用 Core Graphics 进行一些图像处理效果,您将无法将其取出。 一个 png 只包含一个图像。 @MarcinKuptel 请给我更多的想法 @Apple 你是说图片的一部分吗??? @AnoopVaidya 我知道,但是如果 .Png 有多个图像,那么如何通过编码将其分开。 【参考方案1】:

您要做的是从当前图像的一部分创建一个剪辑的 UIImage。我通常这样做,每次都更改剪辑矩形。其中 srcImage 是您的原始图像。

//Set the clip rectangle
CGRect clipRect = CGRectMake(0, 0, 100, 100);

//Get sub image
CGImageRef drawImage = CGImageCreateWithImageInRect(srcImage.CGImage, clipRect);
UIImage *newImage = [UIImage imageWithCGImage:drawImage];
CGImageRelease(drawImage);   

【讨论】:

所以在这种情况下,我必须给每个按钮的框架来剪辑它的图像。 是的,您将使用它来表示向上状态。与在此处为每个按下状态加载单个 UIImage 相同,您将加载子图像然后将其分配给 UIButton。值得注意的是,在使用 UIImages 时使用纹理图集没有什么意义,它不会像使用 OpenGLES 那样为您节省任何内存或磁盘空间。所以你可能会在这里无缘无故地为自己做很多工作。

以上是关于如何从iphone中的png文件中检索单个图像的主要内容,如果未能解决你的问题,请参考以下文章

如何将本地 jpeg 或 png 图像文件加载到 iPhone 应用程序中?

如何从标签 api 响应(javascript)中检索 png

如何使 ghostscript 将 postscript 文件中的单个特定页面输出为 png?

如何将图像从相机保存到 iPhone 画廊中的特定文件夹?

从资产中检索文件名到数组中

如何从 iphone 6 到 iphone 6+ 调整按钮图像和按钮大小