2012-01-29 88 views
1

在android中,我試圖從jpeg中創建一個位圖,我下載並複製到res下的可繪製文件夾中。附從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不承認R.drawable.green_dragon無論是在decodeResource或decodeFile線。我也嘗試清爽和清潔應用程序。沒有幫助。當我查找圖像屬性時,類型是File,路徑是.jpg。

在此先感謝您的幫助。

回答

2

只能使用R對象引用隨應用程序打包的資源。

下載的任何東西都必須保存到數據庫或文件中。我假設你已經下載並保存了該文件。在這一點上,您需要一個字符串,其中jpg的Path或jpg的FileDescriptor

一旦你或者你可以使用加載位圖:

Bitmap bmp = BitmapFactory.decodeFile(PathToFileString); 

Bitmap bmp = BitmapFactory.decodeFileDescriptor(fileDescriptorObject); 
+0

所有集合。在將圖像複製到可繪製文件夾時工作。謝謝! – Jack 2012-01-30 22:04:56

0

也許srcRectdrawBitmap不能爲空,但這樣的:

Rect srcRect = new Rect(0, 0, im.getWidth(), im.getHeight());