从jpeg创建位图

时间:2012-01-29 20:57:33

标签: android android-layout

在android中,我正在尝试从我下载并复制到res下的drawable文件夹的jpeg创建一个位图。

附件是我的代码:

public void draw(Canvas g, Resources res, int x, int y, int w, int h) {
    Bitmap im = BitmapFactory.decodeResource(res, R.drawable.green_dragon);
    Bitmap im = BitmapFactory.decodeFile(R.drawable.green_dragon);
    g.drawBitmap(im, null, new Rect(x*w, y*h, (x*w)+w, (y*h)+h), new Paint());
}

Android无法识别decodeResource或decodeFile行中的R.drawable.green_dragon。我也试过刷新和清理应用程序。没有帮助。当我查找图像属性时,类型为File,路径为.jpg。

提前感谢您的协助。

2 个答案:

答案 0 :(得分:2)

只能使用R对象引用随应用程序打包的资源。

您下载的任何内容都必须保存到数据库或文件中。我假设你已经下载并保存了文件。此时您需要一个具有jpg Path的字符串或jpg的FileDescriptor

一旦你有,你可以使用:

加载位图
Bitmap bmp = BitmapFactory.decodeFile( PathToFileString ); 

Bitmap bmp = BitmapFactory.decodeFileDescriptor( fileDescriptorObject );

答案 1 :(得分:0)

srcRect的{​​{1}}可能不应为null,但是:

drawBitmap