获得图片资源总结

//1,已将图片保存到drawable目录下

//通过图片id获得Drawable

Resource res=gerResource();
Drawable drawable=res.getDrawable(id);//id为R.drawable.图片名称

//通过图片id获得Bitmap

Resource res=gerResource();

Bitmap bitmap=BitmapFactory.decodeResource(res, id);

//若只知道图片的名称,可以通过图片的名称获得图片的id

//name:图片的名称 defType:图片的类型(png,jpeg),defPackage:工程的包名
int id =int id =res.getIdentifier(name, defType, defPackage);
//获得id之后可以根据你的需要来获得Bitmap或Drawable

//2,已将图片保存到assest目录下

//知道图片的名称,通过inputstream打开图片

AssetManager asm=getAssetMg();
InputStream is=asm.open(name);//name:图片的名称
//获得Drawable
Drawable da = Drawable.createFromStream(is, null);
//获得Bitmap
Bitmap bitmap=BitmapFactory.decodeStream(is);

//3,图片保存在sdcard,已知图片的路径

//图片路径
String path = Environment.getExternalStorageDirectory().toString()+ "/DCIM/device.png";
RandomAccessFile mMiniThumbFile;
File imgfile = new File(path);
try {
    mMiniThumbFile = new RandomAccessFile(imgfile, "rw");
} catch (IOException ex) {
// Open as read-only so we can at least read the existing
// thumbnails.
try {
mMiniThumbFile = new RandomAccessFile(imgfile, "r");
} catch (IOException ex2) {
// ignore exception
System.out.println(ex2.toString());
}
}
data= new byte[10553];
try {
mMiniThumbFile.seek(0);
int got = mMiniThumbFile.read(data, 0, 10552);
System.out.println("got="+got);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.toString());
}
if (data != null) {
//通过data获得bitmap
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,data.length);
时间: 2024-07-30 13:43:35

获得图片资源总结的相关文章

vc 制作图片资源dll

方法一: 使用纯WIN32 DLL方法封装纯资源第一步,通过VS2005建立WIN32 DLL 空工程第二步,设置配置属性->链接器->高级->无入口点(是/NOENTRY)设置配置属性->C/C++->代码生成->运行时库(多线程/MT)第三步,加入图片资源并定义资源名称第四步,生成DLL,如Skin.DLL第五步,调用方法例子HINSTANCE hLibrary; if ((hLibrary = LoadLibrary (TEXT ("skin.DLL&q

游戏开发中,图片资源的精简

在游戏开发中,包的大小总是与图片资源的大小密切相关,而图片资源中,大多为带有透明度信息的png图像. 那么,如何精简png图片资源呢? 1.图像压缩是一种方法,然而随着压缩率的增大.图片品质也越来越差.(舍弃) 2.我们另辟蹊径,采用png图像拆分.(近乎无损,资源精简) 一.原理:将png图像转化为两张jpeg图像进行存储 pngSplit下载 pngSplit使用说明 二.使用方法: 1.LibGdx中,通过Pixmap使用 // 如工程目录assets/texture/0_1.jpeg下:

Cocos2d-x图片资源加密

http://cn.cocos2d-x.org/tutorial/show?id=2739 图片加密使用xxtea来加密,加密秘钥自己定,思路就是自己使用代码首先将图片加密,在程序中使用的时候,在加载图片资源处再将资源解密. 加密代码如下: 1.首先要加载头文件 2.将图片加密 bool jiamiImg(string inputFileName,string outFileName)   {       string fileName=FileUtils::getInstance()->ful

IOS的UITextField,UIButton,UIWebView的一些属性介绍和IOS图片资源的使用技巧

有时候UI给开发的资源跟实际的frame不一致,这个时候我们就要去拉伸图片 UIImage* image = [[UIImage imageNamed:@"text_field_bg.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:0]; //stretchableImageWithLeftCapWidth使图片有拉伸效果 UITextField的属性介绍: UITextField* field = [[UITextFiel

多线程下载服务端图片资源

服务端情况是:http://192.168.1.105:8080:/web/sky.jpg 敲回车,就在浏览器展现图片资源>>>>>>> 服务端代码省略.... down_activity.xml(button是提交网络请求下载图片的,textview是一旦完成下载进行界面提示的) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr

用户控件UserControl图片资源定位

MEF编程实现巧妙灵活松耦合组件化编程,一些细节需要花费不小心思去处理: 其中组件中若包含用户控件,且需要访问图片资源,那么需要做以下设置 1. 用户控件(usercontrol)所在工程目录下,创建图片目录,假设创建images文件夹,然后添加1.png图片 2. 设置1.png图片属性-->生成操作-->Resource 3. 创建一个目录Views,扔个用户控件a.xaml,拖放图片控件ImageBrush 4. 那么ImageBrush的图片资源属性应如下设置: <ImageBr

编译速度过慢问题 图片资源过多 视频资源过多导致的编译过慢问题

我的博客地址欢迎阅读和指正: http://www.cnblogs.com/yyxios/ https://github.com/iOSSinger 公司项目其实也不大,几千行代码,但是每次做个小小的改动,都要重新编译,轻则5,6分钟重则十几分钟,原因是里面需要显示3D效果,因此项目里面放了许多图片资源和视频资源,导致每次编译速度都很慢; 解决办法: 在调试阶段下链接电脑本地资源,比如放到桌面某个文件夹里,从而不需要编译,也能看到效果,只是用到的时候才会从本地加载,缺点就是3D效果略有卡顿;然而

Diablo3 英雄榜-显示用户的装备信息-Volley读取API的图片资源,使用MySingleton管理RequestQueue

Diablo3 英雄榜-显示用户的装备信息 -Volley读取API的图片资源 本章目标: 使用一个类来管理RequestQueue 完成Diablo3英雄榜的装备界面概览界面 进一步的熟悉暴雪API 源起 在之前我们提到过使用Volley获取Json数据.参看 Diablo3英雄榜-使用Volley和Gson来处理暴雪API的Json数据 在返回的数据不是立刻返回的.返回后的事件事实上是在onResponse()中来处理.现在我们要实现多个资源同时来请求,每个请求都有自己的Request,那么

ios --转载获ipa 的图片资源

突然想起当初刚学习iOS的时候,就经常通过抓包和提取素材的方式来模仿App,今天就教大家如何一步步提取App的素材! 大家是否有过想要获取别人的素材的想法?看到某些App的资源很不错,很想导出来用用,特别是想模仿某个App来练练手的时候,愁着没有素材吗? 跟着我来一步步提取App的素材,按照我的步骤保证能轻松获取App的所有图片资源.拿别人的素材,千万不要商用哦,只能用于练练手,这关系到版权的问题! Itunes找应用 想要提取哪个App的素材?到Itunes来,找到应用中的App,比如这里拿唱

Android简单加密保护自有图片资源

现在大部分android应用的图片资源,被反编译后就可以直接拿来用,如果不想让自己的图片资源直接被反编译后使用,首先想到的应该是把图片加密.这里笔者抛砖引玉,草草写了一个对图片进行简单加密的方法,希望对各位看官有用. 首先是加密部分,这里使用的是简单的异或来将图片进行加密.新建一个java project或者干脆直接用文本文件写下下面的代码,然后在命令行执行,代码如下: 1 import java.io.File; 2 3 import javax.imageio.stream.FileImag