//获取动图
+ (UIImage *)animatedGIFWithData:(NSData *)data {
if (!data) {
return nil
}
//获取动图源数据
CGImageSourceRef source = CGImageSourceCreateWithData(( __bridge CFDataRef)data, NULL )
//获取动图图片集数量
size_t count = CGImageSourceGetCount(source)
UIImage * animatedImage
//如果图片集只有一张,那么直接创建成一张图片,否则合成一个动图
if (count <=1) {
animatedImage = [[UIImage alloc]initWithData:data]
} else {
NSMutableArray * images = [NSMutableArray array]
//记录动图总时长
NSTimeInterval duration =0.0f
//遍历每张图片
亏信 for (size_t i =0i <counti++) {
CGImageRef image =CGImageSourceCreateImageAtIndex(source, i, NULL )
//获取单张动图时间间距
duration += [ self frameDurationAtIndex:i source:source]
森圆 [images addObject:[UIImage imageWithCGImage:image scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]]
CGImageRelease(image)
}
//若未获取到时长,,自定义时长为0.1x张数,,这里可以根据需求自定义
if (!duration) {
duration = (1.0f/10.0f) * count
}
//创建动图
animatedImage = [UIImage animatedImageWithImages:images duration:duration]
}
CFRelease(source)
return animatedImage
}
+ ( float )frameDurationAtIndex:(NSUInteger)index source:(CGImageSourceRef)source {
float frameDuration =0.1f
CFDictionaryRef cfFrameProperties = CGImageSourceCopyPropertiesAtIndex(source, index, nil )
NSDictionary * frameProperties = ( __bridge NSDictionary*)cfFrameProperties
NSDictionary * gifProperties = frameProperties[(NSString*)kCGImagePropertyGIFDictionary]
NSNumber * delayTimeUnclampedProp = gifProperties[(NSString*)kCGImagePropertyGIFUnclampedDelayTime]
if (delayTimeUnclampedProp) {
销春轮 frameDuration = [delayTimeUnclampedProp floatValue]
}
else {
NSNumber * delayTimeProp = gifProperties[(NSString*)kCGImagePropertyGIFDelayTime]
if (delayTimeProp) {
frameDuration = [delayTimeProp floatValue]
}
}
CFRelease(cfFrameProperties)
return frameDuration
}
工具:iPhone13、iOS16.0.2、GIF制作6.1.16&&美图秀秀9.6.80。步骤一:点击素材进入GIF制作视频素材页面,页面选择你要制作的动图素材点击。
步骤二:拉动态拿链进度条读取完成,进入编辑页面,页面底部拉动进度条,调整动图速帆孙度。
步骤三:点击GIF大小页面点击保存,翻转进入分享、保存页面,点击GIF大小图标。
步骤四:点击保存d出调整数据窗口,点击保存到照片应用,即可完成GIF动图的制作。
GIF的全称是GraphicsInterchangeFormat,可译为图形交换格式,敏薯用于以超文本标志语言(HypertextMarkupLanguage)方式显示索引彩色图像,在因特网和其他在线服务系统上得到广泛应用。GIF是一种公用的图像文件格式标准,版权归CompuServe公司所有。
如下:
1、打开苹果手机的手机硬件管家应用,点击捷径精选。
2、输入GIF进行搜物坦索,点击live photo转gif。
3、在捷径界罩正桐面,点击下方的获取捷径。
4、点击后,会看到捷径的详情,点击右上方的完成的选清氏项。
5、完成后,在手机的捷径内,找到该捷径并点击。
6、点击运行后,在页面d出的窗口点击运行捷径。
7、点击后自动跳转到苹果手机的相册,选择需要转换的live Photo照片。
8、在d出的窗口中,选择每张照片制作的秒数,点击完成。
9、点击后可看到转换为GIF的照片效果,点击完成保存。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)