相关疑难解决方法(0)

iOS:从照片库中选择一个GIF,转换为NSData以用于multipart/form-data

我的代码目前正在使用什么:

我从照片库中选择了JPG或PNG(使用标准的ImagePicker方法),并使用以下方法将该图像转换为NSData:

self.myImageData = UIImageJPEGRepresentation(myImage, 0.9); 
Run Code Online (Sandbox Code Playgroud)

然后我使用multipart/form-data将其发布到服务器.

我现在想要为GIF做同样的事情,同时保留原始的GIF数据(以便动画GIF进入图书馆,恢复出来仍然是动画).

在didFinishPickingMediaWithInfo中,我可以使用原始GIF的URL

self.myGIFURL = [info objectForKey:UIImagePickerControllerReferenceURL]. 
Run Code Online (Sandbox Code Playgroud)

这是一个可能让我得到的例子:

资产库://asset/asset.GIF ID = 1000000034&EXT = GIF

以下是我现在尝试将此GIF推送到NSData的两种方法,每次myImageData显示(null).

我试过使用initWithContentsOfURL:

NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfURL: myGIFURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
Run Code Online (Sandbox Code Playgroud)

然后我尝试将NSURL转换为initWithContentsOfFile的字符串:

NSString *stringFromURL = [NSString stringWithFormat:@"%@", myGIFURL];
NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfFile: stringFromURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢.

iphone gif nsdata

9
推荐指数
2
解决办法
8233
查看次数

iOS - 将GIF从URL保存到已保存的照片相册

我从网络服务收到动画gif网址.

如何将gif图像保存到相册?

我所做的是下载数据并将其转换为UIImage使用类别帮助程序

UIImage* gifImage = [UIImage animatedImageWithAnimatedGIFURL:[NSURL 
URLWithString:self.resultImageUrl]];
Run Code Online (Sandbox Code Playgroud)

然后保存它使用

writeImageToSavedPhotosAlbum
Run Code Online (Sandbox Code Playgroud)

但图像保存为第一帧.

所以我想尝试直接保存NSData使用

writeImageDataToSavedPhotosAlbum
Run Code Online (Sandbox Code Playgroud)

但我找不到任何关于图像元数据放置的文档,因此相册会知道它的gif文件.

最重要的是,我希望gif文件在用户相册中可见,当他使用电子邮件客户端发送它时,它会将其作为gif动画发送而不仅仅是第一帧

请指教,谢谢

objective-c ios

2
推荐指数
1
解决办法
2251
查看次数

标签 统计

gif ×1

ios ×1

iphone ×1

nsdata ×1

objective-c ×1