Я пытаюсь загрузить изображение асинхронно с url, а затем преобразовать его в растровое изображение, я могу загрузить изображение асинхронно без каких-либо ошибок, но мне сложно преобразовать его в растровое изображение ,
Конвертировать изображение, загруженное в растровое изображение
вот мой код
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// This is my image link
String url="www.myimagelink.com";
// This downloads the image from the servers
new DownloadImage(ImageView).execute(url);
//this is suppose to convert my bitmap into a byteArray, but I cant seem to convert my image downloaded to a bitmap
final byte[] byteArray;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byteArray = stream.toByteArray();
}
private class DownloadImage extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImage(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
}
Пожалуйста, как я могу преобразовать мое изображение downlaoded в растровое изображение? Благодаря
*, но мне трудно преобразовать его в растровое изображение. * Не могли бы вы немного разобраться? – Blackbelt
Ваша попытка преобразования bitmap в byteArray должна произойти в onPostExecute, а не в onCreate, поскольку asynctask не является блокирующим вызовом, и это произойдет асинхронно ... –
«Пожалуйста, как я могу преобразовать изображение в downmode?». Вы уже делаете это в doInBackground. И вы позволяете doInBackgroud возвращать тот Bitmap, который затем устанавливается onPostExcetute - в ImageView, я думаю. – greenapps