加载图片三种方式

这里用的是CIImage,同样可以转换成UIImage。内容比较简单,适合初学者。(自己忘记时看看,严禁商业转载)

//第一种,从应用程序包中(资源文件)加载图像

NSString * path = [[NSBundle
mainBundle] pathForResource:@"1"
ofType:@"png"];

NSURL * pathURL = [NSURL
URLWithString:path];

CIImage * img = [CIImage
imageWithContentsOfURL:pathURL];

//    NSData * data = [[NSData alloc] initWithContentsOfFile:path];

//    CIImage * img = [CIImage imageWithData:data];

//    CIImage * img = [[CIImage alloc] initWithData:data];

//第二种,从应用程序沙箱目录中的Document目录下获取图片

NSArray * paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);

NSString * pathString = [[paths
lastObject] stringByAppendingPathComponent:@"1.png"];

NSURL * url = [NSURL
URLWithString:pathString];

CIImage * image = [CIImage
imageWithContentsOfURL:url];

//也可以转换成NSDate获取

//第三种,从服务器端获取

NSURL * uro = [NSURL
URLWithString:@"http://*****/1.png"];

//如果导入了SDWebImage框架,则可以直接根据url地址加载

//没有第三方框架的情况下

NSData * data = [NSData
dataWithContentsOfURL:uro];

CIImage * imag = [[CIImage
alloc] initWithData:data];

时间: 2024-10-27 17:01:49

加载图片三种方式的相关文章

002-UIImageView和UIButton对比 UIImageView的帧动画 格式符补充 加载图片两种方式 添加删除SUBVIEW

一>.UIImageView和UIButton对比 显示图片 1> UIImageView只是一种图片(图片默认会填充整个UIImageView)  image\setImage: 2> UIButton能显示2种图片 * 背景 (背景会填充整个UIButton)  setBackgroundImage:forState: * 前置(覆盖在背景上面的图片,按照之前的尺寸显示)  setImage:forState: * 还能显示文字 点击事件 1> UIImageView默认是不能

AsyncTask加载网络Json及其解析Json---------Thread和AsyncTask加载图片2种方式

源码  http://download.csdn.net/detail/u013210620/8955435 首先看主线程布局 activity_main.xml(里面只有一个listview) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layo

Flask程序相关配置加载的三种方式

方式一:从对象中加载配置 1.定义配置类,在配置类中添加相应的配置 2.通过app.config.from_object(配置类)进行加载 代码如下: from flask import Flask app=Flask(__name__) # =======从对象中加载配置========= class Config(object): DEBUG=True app.config.from_object(Config) @app.route("/") def index(): retur

JS异步加载的三种方式

js加载的缺点:加载工具方法没必要阻塞文档,过得js加载会影响页面效率,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作. 有些工具方法需要按需加载,用到再加载,不用不加载,. 默认正常模式下下,JS是同步加载的,即优先记载JS,只有当JS文件下载完,dom和css才开始加载,当某些事后我们需要JS异步加载,我们可以通过以下方式来设置异步加载,不同情况下选取不同方式即可 1.defer:defer JS异步下载,dom结构解析完(标签 + 样式(内容不一定下载完))才异步执行 仅I

vue+webpack实现懒加载的三种方式

实现方式: 1.webpack method require.ensure([''], callback, chunkName) ; 2.es6 motehod import() import().then() import(/* webpackChunkName: async-chunk-name */ /* webpackMode: lazy */ modulename) 需要安装bable插件 syntax-dynamic-import,因为import只能出现在页面顶部 具体实现: 第一

用GCD的方式,加载网络图片(主线程加载图片+类扩展方式)

用GCD的方式,加载网络图片(主线程加载图片+类扩展方式) 用两种方法来实现网络加载图片 方法1:实现的效果:先加载背景色灰色,两秒后加载图片 - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor=[UIColor grayColor]; //刷新UI(在主线程中刷新UI!!!) --- 一般方法 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PR

高效地加载图片(三) 缓存图片

如果只需要加载一张图片,那么直接加载就可以.但是,如果要在类似ListView,GridView或者ViewPager的控件中加载大量的图片时,问题就会变得复杂.在使用这类控件时,在短时间内可能会显示在屏幕上的图片数量是不固定的. 这类控件会通过子View的复用来保持较低的内存占用.而Garbage Collector也会在View被复用时释放对应的Bitmap,保证这些没用用到的Bitmap不会长期存在于内存中.但是为了保证控件的流畅滑动,在一个View再次滑动出现在屏幕上时,我们需要避免图片

点评js异步加载的4种方式

主要介绍了点评js异步加载的4种方式,帮助大家更全面的了解js异步加载方式,感兴趣的小伙伴们可以参考一下 js异步加载的4种方式,点评开始. <!DOCTYPE html> <html> <head> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <script typ

APP中数据加载的6种方式-b

我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数据加载等待,甚至在无网络的时候,整个处于不可用状态.那么我们怎么处理好界面交互中的加载设计,保证体验无缝衔接,保证用户没有漫长的等待感,而可以轻松自在的享受等待,对加载后的内容有明确的预期呢? 设计师在进行APP设计的设计时,往往会更加专注于界面长什么样,界面和界面之间怎么跳转,给予用户什么样的操作反馈,却偏偏特别容易忽略掉一个比较重要的环节,就是APP数据加载中的设计,所以会导致我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数