图片拉伸模式,系统版本判断宏,CPU和GPU的区别和实际应用

1.图片的拉伸模式有两种:
UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片

2.小技能用来调试代码
条件编译(在Availability.h系统类中)
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0
#elif __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_8_0
#else
#endif

3.使用CPU和GPU渲染图片的区别?
使用CPU渲染的IOS会采用GCD来对图像进行渲染,这保证了CPU渲染在大部分情况下更可靠,比GPU渲染更容易使用,他可以在后台实现渲染过程;而GPU渲染方式使用OpenGL ES2.0来渲染图像,这种方式CPU完全没有负担,应用程序的运行循环不会受到图像渲染的影响,而且他渲染比CPU渲染更快但是GPU渲染无法在后台运行。
而在使用CIContext进行进行图片渲染的过程中,可以通过设置options设置不同的渲染方式(CPU GPU)

CIContext *context = [CIContext contextWithOptions:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:kCIContextUseSoftwareRenderer]];//CPU渲染 

4.CIContext和CGContext的区别?(一个是加滤镜的环境,一个是绘图和曲线的环境)

5.实现ios中GIF图片自动播放的核心思想?(通过gif图片的data数据得到他的source手柄,通过手柄一步步遍历得到每一个图片本身,同时可以通过手柄得到图片每一张动画时间做一个累加,最后调用ImageView的图片动画传入图片数组和累加时间)

加入我的精英会所私人交流QQ群:368035913
(进群请附上-- 工作年限 l工作地址|所在公司职位|所关注的技术--吹水勿入)

你可能感兴趣的:(图片拉伸模式,系统版本判断宏,CPU和GPU的区别和实际应用)