Meine BlackBerry-Anwendung sollte ein Bild von einem Webdienst abrufen und das Bild als Miniaturansicht anzeigen. Kann mir jemand eine Idee geben, wie ich das erreichen kann?Skaliertes Bild auf BlackBerry anzeigen
Antwort
Dieser Code kann man
connection = (HttpConnection) Connector.open(fullUrl.toString(),
Connector.READ_WRITE, true);
InputStream is = hc.openInputStream();
DataInputStream dis = new DataInputStream(is);
ByteArrayOutputStream bStrm = new ByteArrayOutputStream();
int ch;
while ((ch = dis.read()) != -1) {
// System.out.println((char) ch);
// msg = msg + (char) ch;
bStrm.write(ch);
}
bb = bStrm.toByteArray();
hilft Dieser Byte-Array von Ihrer Web-Service-URL zu generieren. Hier ist bb
Byte-Array.
Es gibt zwei Klassen, die Bilder in BB verarbeiten. EncodedImage
und Bitmap
, beide haben Konstruktoren, die Bild aus Byte-Array generieren. Ich empfehle Bitmap zu verwenden, es hat eine einfache Bildwiedergabefähigkeit.
Ich bin nicht ganz vertraut mit BB entweder aber da niemand sonst Ihre Frage beantwortet, überprüfen Sie die EncodedImage-Klasse und ihre Methode scaleImage32() sollte Ihnen die skalierte Version zurückgeben.
Danke für die Antwort..ich werde es sicherlich überprüfen :) – user469999
+1 und Daumen hoch @potteri für Vorschlag – Prasham
petteri hat Recht mit EncodedImage und scaleImage32(). Insbesondere möchten Sie createEncodedImage(byte[] data, int offset, int length)
mit den vom Webservice zurückgegebenen Bytes verwenden.
Beachten Sie, dass scaleImage32 'int' Argumente verwendet, aber im Gegensatz zu den bekannteren Fließkommazahlen sind sie Festkommazahlen. Um den gewünschten Festkommawert zu erhalten, verwenden Sie die Hilfsmethoden in Fixed32
Schließlich, wenn Sie das Originalbild in der BlackBerry-Anwendung nicht benötigen, haben Sie eine bessere allgemeine Erfahrung, wenn der Webservice die Skalierung durchführt. Dies reduziert die Anzahl der an das Gerät übertragenen Bytes und reduziert die auf dem Gerät durchgeführte Berechnung zur Skalierung des Bildes. Die Skalierung auf dem Server wird wahrscheinlich auch zu einem skalierten Bild mit höherer Qualität führen, da scaleImage32() einen relativ einfachen Algorithmus verwendet.
Nur um Michaels Antwort hinzuzufügen, wenn Sie können nicht auf dem Server skalieren und müssen es in dem Gerät tun, können Sie 5.0 APIs verwenden, um bessere Qualität Skalierung mit Bitmap.scaleInto() –
Vielen Dank ... Ich werde sicherlich die Lösung ausprobieren – user469999
- 1. Content-Length für dynamisch skaliertes Bild PHP
- 2. Wie kann ich ein dynamisch skaliertes Bild in Kohana anzeigen, ohne es zu speichern?
- 3. Bild anzeigen auf UISplitViewController
- 4. BlackBerry: Bild zur Anzeige auf Anwendung im Simulator angezeigt
- 5. Wie zeichne ich ein skaliertes Bild in TensorFlow?
- 6. Sepia Bild-Effekt in Blackberry
- 7. Laden Bild auf Umleitung anzeigen
- 8. Qt: Bild anzeigen auf Widget
- 9. Bild auf Scroll-Ansicht anzeigen
- 10. Anzeigen von Menüs auf Bild
- 11. Erstellen Sie ein gepolstertes, zentriertes, skaliertes NSMagier
- 12. Skaliertes logarithmisches Binning in Python
- 13. Skaliertes/gewichtetes Dichtediagramm in R
- 14. Spiegeln Sie das Bild in Blackberry
- 15. BlackBerry angepasster HorizontalFieldManager
- 16. Bild anzeigen statt Video auf kleinerem Bildschirm
- 17. Statischen Text/Bild auf X3D/X3DOM anzeigen
- 18. Anzeigen von Statistiken auf Bild mit PHP
- 19. Eine Schaltfläche auf einem Bild anzeigen HTML
- 20. Menüoption auf Blackberry entfernen
- 21. Blackberry Entwicklung auf Skriptsprache?
- 22. Facebook-Authentifizierung auf Blackberry
- 23. Stapelgröße auf BlackBerry?
- 24. Bild in Iframe anzeigen
- 25. TinyMCE Bild anzeigen
- 26. jQuery-Plugin Bild anzeigen
- 27. Kopfzeilen senden + Bild anzeigen
- 28. Bild als Popup anzeigen
- 29. Symfony LiipImagineBundle Bild anzeigen
- 30. Bild in Galerie anzeigen
Vielen Dank ... ich werde sicherlich die Lösung ausprobieren – user469999