Ich mache einige Verarbeitung (Qualitätsverbesserung und ein wenig Größenanpassung) auf einem Bitmap
Objekt und speichern Sie es dann unter Verwendung der bitmap.compress()
Funktion, indem Sie den Dateinamen "myfile.png" geben.Wie lädt man ein ImageView mit einer PNG-Datei ohne "setImageBitmap()"?
newbitmap = processImage(bitmap);
FileOutputStream fos = context.openFileOutput("myfile.png", Context.MODE_PRIVATE);
newbitmap.compress(CompressFormat.PNG, 100, fos);
Jetzt möchte ich in einem ImageView
um das Bild zu laden, aber ich kann nicht setImageBitmap()
, das zu tun verwenden. Gibt es eine Alternative?
Der Grund, warum ich setImageBitmap()
verwenden kann nicht ist, dass ich RemoteViews
für ein Widget benutzen und Bitmap-Methode führe zu Fehlgeschlagen Binder Transaktion Fehler, wenn das Bild groß ist.
Ich versuchte Bild uri mit dem Code unten, aber das Bild nicht geladen auf den ImageView
einzustellen:
RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
File internalFile = context.getFileStreamPath("myfile.png");
Uri internal = Uri.fromFile(internalFile);
rv.setImageViewUri(R.id.widgetImageView, internal);
updateAppWidget(awID, rv);
Vielen Dank für Ihre Hilfe!
Gibt es eine Möglichkeit, Byte-Array zu senden? Entschlüsseln Sie dann die Bitmap von der anderen Seite. Ich bin mir nicht sicher. – Shaiful