Создать растровое изображение из JPEG - PullRequest
1 голос
/ 30 января 2012

В Android я пытаюсь создать растровое изображение из JPEG, который я скачал и скопировал в папку Drawable под Res.

прикреплен мой код:

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. Я также попробовал как обновить, так и очистить приложение. Ни то, ни другое не помогло. Когда я посмотрел свойства изображения, тип файла и путь .jpg.

Заранее благодарим за помощь.

Ответы [ 2 ]

2 голосов
/ 30 января 2012

С помощью объекта R можно ссылаться только на ресурсы, упакованные с приложением.

Все, что вы загружаете, должно быть либо сохранено в базе данных, либо в файле. Я предполагаю, что вы уже загрузили и сохранили файл. В этот момент вам нужна либо строка, которая имеет Path jpg, либо FileDescriptor для jpg.

Если у вас есть любой из них, вы можете загрузить растровое изображение, используя:

Bitmap bmp = BitmapFactory.decodeFile( PathToFileString ); 

или

Bitmap bmp = BitmapFactory.decodeFileDescriptor( fileDescriptorObject );
0 голосов
/ 30 января 2012

Может быть, srcRect для drawBitmap не должно быть нулевым, но это:

Rect srcRect = new Rect(0, 0, im.getWidth(), im.getHeight());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...