我正在将.jpg文件写入我的应用程序的Documents目录,如下所示:
NSData *img = UIImageJPEGRepresentation(myUIImage, 1.0);
BOOL retValue = [img writeToFile:myFilePath atomically:YES];
Run Code Online (Sandbox Code Playgroud)
之后,我使用以下命令将该图像加载回UIImage:
UIImage *myImage = [UIImage imageWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)
我知道它有效,因为我可以在表格单元格中绘制图像,这很好.现在,如果我尝试使用UIImageJPEGRepresentation(myImage,1.0),调试器会打印出这些行:
<Error>: Not a JPEG file: starts with 0xff 0xd9
<Error>: Application transferred too few scanlines
Run Code Online (Sandbox Code Playgroud)
函数返回nil.有没有人知道为什么会这样?加载后我没有做任何事情来操纵UIImage数据.我刚刚将UIImage提供给单元格中的图像视图.我设置了图像视图属性,使得单元格中的所有图像对齐并且大小相同,但我认为这与将UIImage转换为NSData无关.
在用户用UIImagePickerController选择照片后,有人可以解释或展示一些示例代码,说明如何使用缩放图放入UIImageView吗?
假设我想将缩略图设置为表格视图单元格的图像.当用户按下单元格时,将显示图像选择器,用户选择已在其设备上的图像.我还想保存该缩略图的路径,以便下次显示视图时,可以显示正确的缩略图.
我能够显示一个图像选择器,我的委托得到正确的选择图像,但我想要缩略图的路径,我想使用该路径加载缩略图(即我想保存路径).我今天搜索了几个小时,但没想出来.也许我不理解ALAsset,或者它可能是其他东西,但我找不到任何帮助我的例子.我之前从未使用过图像选择器或ALAsset,所以我对此完全陌生.