草庐IT

ios - 在 iPhone 上将照片保存到磁盘的最有效内存方式?

通过使用Instruments进行分析,我了解到我将图像保存到磁盘的方式导致内存峰值达到~60MB。这会导致应用程序发出低内存警告,这(不一致地)导致运行iOS7的iPhone4S崩溃。我需要以最有效的方式将图像保存到磁盘。我目前正在使用这个代码+(void)saveImage:(UIImage*)imagewithName:(NSString*)name{NSData*data=UIImageJPEGRepresentation(image,1.0);DLog(@"***SIZE***:Savingfileofsize%lu",(unsignedlong)[datalength]);

objective-c - 旋转 CGImage

我有一个从UIImagePickerController获取的UIImage。当我从-(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingMediaWithInfo:(NSDictionary*)info方法收到图像时,我将其直接放入UIImageView进行预览,并让用户选择保存或丢弃图像。当用户选择保存选项时,应用程序获取图像的png数据并将其保存到它的文档目录中。但是在2种可能的设备方向之一(仅限横向)下发生的情况是图像被颠倒保存(更具体地说,从它应该旋转180度)。因此,当我将图

objective-c - 旋转 CGImage

我有一个从UIImagePickerController获取的UIImage。当我从-(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingMediaWithInfo:(NSDictionary*)info方法收到图像时,我将其直接放入UIImageView进行预览,并让用户选择保存或丢弃图像。当用户选择保存选项时,应用程序获取图像的png数据并将其保存到它的文档目录中。但是在2种可能的设备方向之一(仅限横向)下发生的情况是图像被颠倒保存(更具体地说,从它应该旋转180度)。因此,当我将图

ios - 更改导航栏的 alpha 值

这可能吗?我想在我的ViewController中更改导航栏的alpha值(在动画中),但是如果我这样做self.navigationController.navigationBar.alpha=0.0;,navigationBar占据的屏幕完全消失并留下一个黑框,这不是我想要的(我更希望它是self.view背景的颜色)。 最佳答案 因为我支持Colin的回答,所以我想给你一个额外的提示来自定义UINavigationBar的外观,包括alpha。诀窍是为您的NavigationBar使用UIAppearance。这使您能够将UI

ios - 更改导航栏的 alpha 值

这可能吗?我想在我的ViewController中更改导航栏的alpha值(在动画中),但是如果我这样做self.navigationController.navigationBar.alpha=0.0;,navigationBar占据的屏幕完全消失并留下一个黑框,这不是我想要的(我更希望它是self.view背景的颜色)。 最佳答案 因为我支持Colin的回答,所以我想给你一个额外的提示来自定义UINavigationBar的外观,包括alpha。诀窍是为您的NavigationBar使用UIAppearance。这使您能够将UI

ios - UIImageView 获取显示图像的位置

我有一个显示UIImage的UIImageView。UIImage可能会变成其他不同大小的UIImage,UIImage里面的位置和大小会随之改变。我的问题是我正在尝试添加一个将位于UIImage末尾的View(它一直在变化),而我所能得到的只是UIImageView的框架(它一直保持全屏).如何获取当前显示的UIImage的“框架”? 最佳答案 swift4.2和5.0funccalculateRectOfImageInImageView(imageView:UIImageView)->CGRect{letimageViewSiz

ios - UIImageView 获取显示图像的位置

我有一个显示UIImage的UIImageView。UIImage可能会变成其他不同大小的UIImage,UIImage里面的位置和大小会随之改变。我的问题是我正在尝试添加一个将位于UIImage末尾的View(它一直在变化),而我所能得到的只是UIImageView的框架(它一直保持全屏).如何获取当前显示的UIImage的“框架”? 最佳答案 swift4.2和5.0funccalculateRectOfImageInImageView(imageView:UIImageView)->CGRect{letimageViewSiz

ios - 如何自动裁剪 UIImage?

我有一个包含形状的UIImage;其余的是透明的。我想通过裁剪掉尽可能多的透明部分来获得另一个UIImage,但仍然保留所有非透明像素——类似于GIMP中的自动裁剪功能。我该怎么做呢? 最佳答案 这种方法可能比您希望的更具侵入性,但它可以完成工作。我正在做的是为UIImage创建位图上下文,获取指向原始图像数据的指针,然后筛选它以寻找非透明像素。我的方法返回一个CGRect,我用它来创建一个新的UIImage。-(CGRect)cropRectForImage:(UIImage*)image{CGImageRefcgImage=im

ios - 如何自动裁剪 UIImage?

我有一个包含形状的UIImage;其余的是透明的。我想通过裁剪掉尽可能多的透明部分来获得另一个UIImage,但仍然保留所有非透明像素——类似于GIMP中的自动裁剪功能。我该怎么做呢? 最佳答案 这种方法可能比您希望的更具侵入性,但它可以完成工作。我正在做的是为UIImage创建位图上下文,获取指向原始图像数据的指针,然后筛选它以寻找非透明像素。我的方法返回一个CGRect,我用它来创建一个新的UIImage。-(CGRect)cropRectForImage:(UIImage*)image{CGImageRefcgImage=im

iphone - 将 UIImage 转换为 CVImageBufferRef

此代码大部分都有效,但生成的数据似乎失去了颜色channel(这是我的想法),因为生成的图像数据在显示时是蓝色的!代码如下:UIImage*myImage=[UIImageimageNamed:@"sample1.png"];CGImageRefimageRef=[myImageCGImage];CVImageBufferRefpixelBuffer=[selfpixelBufferFromCGImage:imageRef];pixelBufferFromCGIImage方法是从此处stackoverflow上的另一篇文章中获取的:HowdoIexportUIImagearrayasa