草庐IT

ios - 使用 CGBitmapContextCreate 绘制 UIImage - 纹理的全尺寸图像 - iOS

我正在使用下面的代码绘制一个UIImage。我正在使用一些顶点来绘制,在本例中是一个正方形:-(UIImage*)drawTexture:(NSArray*)verticesPassed{CGColorSpaceRefrgbColorSpace=CGColorSpaceCreateDeviceRGB();CGContextRefcon=CGBitmapContextCreate(NULL,1000,1000,8,0,rgbColorSpace,kCGImageAlphaPremultipliedFirst);CGColorSpaceRelease(rgbColorSpace);CGCo

ios - 为什么 CGBitmapContextCreateImage 比 [UIImage initWithData :]? 慢

我目前正在开发一个应用程序,它可以一个接一个地显示许多图像。不幸的是,我没有为此使用视频的奢侈,但是,我可以选择正在使用的图像编解码器。数据从服务器发送到应用程序,已经编码。例如,如果我使用PNG或JPEG,我可以使用[[UIImagealloc]initWithData:some_data]将接收到的数据转换为UIImage。当我使用原始字节数组或另一个必须首先解码为原始字节数组的自定义编解码器时,我必须创建一个位图上下文,然后使用CGBitmapContextCreateImage(bitmapContext)给出一个CGImageRef,它然后被送入[[UIImagealloc]

ios - 使用 UIImage RenderingMode AlwaysTemplate 在 iPhone 6 上显示不同的颜色

我有一个PNG图像,我正在运行时重新着色:logo.image=[[UIImageimageNamed:@"logo.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];logo.tintColor=[UIColorwhiteColor];这在我的iPhone6、所有模拟器等上显示为白色;但它在iPhone6+上是略深的灰色。是否有我错过的原因?这是iPhone6+的屏幕截图(所有导航项都应为白色-与所有其他设备一样) 最佳答案 barTintColoris

ios - 为动画添加 UIImage 到 NSMutable 数组

我有一个应用程序可以根据项目导航器中存储在组中的图像创建动画(不是Images.xcassets)。此代码“有效”,因为它可以正确设置动画,但使用imageNamed会导致内存泄漏,因为图像文件没有被释放。我不明白为什么添加imageNamed:可以将图像添加到我的数组,但imageWithContentsOfFile:却不行。有关我的应用程序机制的一些信息:self.myPhoto设置在另一个ViewController的segue上。图像的数量可能会有所不同,因此在将文件添加到数组之前,我先测试文件是否“存在”。文件名遵循以下命名约定:"1-1.jpg""2-1.jpg""2-2.

ios - 从 NSData 创建 UIImage 时出现 "fatal error: unexpectedly found nil while unwrapping an Optional value"

首先,我将一张图片转换为NSData,并借助fmdb(飞肉数据库)以sqliteblob的形式插入到sqlite数据库中。然后我取回NSData,但是在将NSData转换为UIImage时出现错误“fatalerror:在展开可选值时意外发现nil”。varimageData=String()letcountryDB=FMDatabase(path:databasePathasString)ifcountryDB.open(){letquerySQL="SELECTUSERIMAGEFROMUSERINFOWHEREID=\((1))"letresults:FMResultSet?=c

iphone - UIImage + NSCache 与 [UIImage imageNamed :]

我有一个性能问题,如果我使用[UIImageimageWithContentsOfFile:]从磁盘加载JPG(是的,我不能在应用程序中提供任何PNG文件格式)图像,存储全局NSCache中的UIImage并使用[UITableViewCelldrawRect:]中的缓存图像。这种方法比用户[UIImageimagedNamed:]慢得多。如果使用Instruments“TimeProfile”分析了性能,正如您在第一张图片中看到的那样,JPEG始终在[DBArtistTableViewCelldrawRect:]中解码。在第二张带有[UIImageimageNamed:]解决方案的图

ios - 如何使用 AVCaptureSession 从 CMSampleBuffer 获取 UIImage

我一直在尝试在MonoTouch中进行一些实时视频图像处理。我正在使用AVCaptureSession从与AVCaptureVideoPreviewLayer配合使用的相机获取帧。我也成功地在我的委托(delegate)类中获得回调方法“DidOutputSampleBuffer”。但是,我尝试从生成的CMSampleBuffer创建UIImage的所有方法都失败了。这是我设置捕获session的代码:captureSession=newAVCaptureSession();captureSession.BeginConfiguration();videoCamera=AVCaptur

ios - MonoTouch UIImage.FromResource 加载 Retina 图像

我有一个类从引用的MonoTouch库中的嵌入式资源加载图像,如下所示:UIImage.FromResource(null,"Resources.Items");如果它是UIImage.FromFile("abc.png");并且我包含一个名为abc@2x.png的文件,视网膜图像将显示在兼容设备。我如何实现相同的目标,即加载视网膜图像,使用UIImage.FromResource(null,"Resources.Items");我不能使用UIImage.FromFile("abc.png");因为资源在引用的DLL中。 最佳答案

iphone - 在动画文件中存储大量 UIImage

我正在尝试将大量UIImage存储到一个文件中并读取它。我想到的选项是:将图像转换为NSData并将每个图像保存到相应的文件(“1.png”、“2.png”等),然后读取它们。将图片转成NSData并保存到一个大文件中,同时在文件中存储每张图片的开始位置。然后稍后打开文件一次并使用NSFileHandle的seekToFileOffset读取它们。我考虑选项2的原因是因为我正在尝试使用这些图像实现动画。我不确定一次打开一张图片是否足够快以制作高帧率动画。也可能有更好的方法我还不知道。我将不胜感激任何建议。谢谢! 最佳答案 其他选项可

ios - NSImage 和 UIImage 给出了不同的 NSData 表示

场景:我在iPhone相机胶卷中有一张图片。我使用ALAssetLibrary访问它并获得一个ALAsset对象。我使用类似于以下代码的内容从中获取UIImage和NSData对象。ALAssetRepresentation*rep=[myassetdefaultRepresentation];CGImageRefiref=[repfullResolutionImage];if(iref){UIImage*largeimage=[UIImageimageWithCGImage:iref];NSData*data=UIImageJPEGRepresentation(largeimage,