Android Programming Auf das Bild klicken um zur Hauptseite zurück zu kehren.


Jpeg

Diese Bibliothek enthält ein Jpeg-Objekt, das Teile von großen JPEG-Dateien extrahieren kann ohne das gesamte Bild in einer Bitmap zu dekodieren. Dies ermöglicht Teile dieser Bilder anzuzeigen, die in ihrer Gesamtheit unmöglich, bei voller Auflösung, angezeigt werden könnten.

 

Dieser Prozess kann langsam sein, weil Android Versionen vor 2.2 die Bytecodes der Programme zur Laufzeit interpretieren. Android Versionen 2.2 und später haben einen Just in Time-Compiler der den Bytecodes in einen systemeigenen Code kompiliert. Dies sollte eine signifikante Abnahme der Bearbeitungszeit dieser Bibliothek ergeben. Die Verarbeitungsgeschwindigkeit der CPUs von Android-Geräten wird immer schneller, das wird auch wieder, bei den neuesten Geräten, eine Geschwindigkeitserhöhung bringen.

List der Types:

Jpeg


Jpeg

Dies ist das Jpeg-Objekt, das Teile von großen JPEG-Dateien extrahieren kann ohne das gesamte Bild in einer Bitmap zu dekodieren. Dies ermöglicht Teile dieser Bilder anzuzeigen, die in ihrer Gesamtheit unmöglich, bei voller Auflösung, angezeigt werden könnten.

 

Als Nebeneffekt der jpeg Decodierung hat dieses Objekt auch die Fähigkeit eine Bitmap in oder von einer Reihe von Ints (Integer) zu transformieren. Die Int Werte entsprechen den ARGB-Werten jedes Pixels der Bitmap.

Dies ist ein "Activity-Objekt", es kann nicht unter Sub Process_Globals deklariert werden

Events:

Progress(percent As Int) 'Prozentzahl des Fortschrittes des Decodingprozesses.

Members:


  BmpHeight As Int

  
BmpIsMutable (bmp As android.graphics.Bitmap) As Boolean

  
BmpPixels() As Int

  
BmpWidth As Int

  
GetBmpFromPixels As android.graphics.Bitmap

  
GetBmpPixel (x As Int, y As Int) As Int

  
Initialize (eventname As String)

  
JpegHeight As Int [read only]

  
JpegWidth As Int [read only]

  
LoadJpegArea (instream As java.io.InputStream, left As Int, top As Int, width As Int, height As Int) As android.graphics.Bitmap

  
LoadJpegSizeOnly (instream As java.io.InputStream)

  
LoadJpegSmaller (instream As java.io.InputStream, denominator As Int) As android.graphics.Bitmap

  
Progress As Int [read only]

  
SetBmpPixel (x As Int, y As Int, argb As Int)

  
SetPixelsFromBmp (bmp As android.graphics.Bitmap)

  
Version As Double [read only]

Members Erklärung:

BmpHeight As Int

Holt oder setzt die vermutete Höhe des Bildes das im Pixelarray enthalten ist.

BmpIsMutable (bmp As android.graphics.Bitmap) As Boolean

BmpPixels() As Int

Holt oder setzt ein Integer Array das die ARGB Werte der Pixel des Bildes enthält.

Wenn das Array gesetzt ist sollten auch die geeigneten Werte für BmpWidth und BmpHeight gesetzt werden.

BmpWidth As Int

Holt oder setzt die vermutete Breite des Bildes das im Pixelarray enthalten is.

GetBmpFromPixels As android.graphics.Bitmap

Gibt eine neue Bitmap, aus den Pixelarray Daten, zurück.

GetBmpPixel (x As Int, y As Int) As Int

Gibt den ARGB Wert für das gegebene Pixel im Pixelarray zurück.

Initialize (eventname As String)

Diese Bibliothek enthält JPEG-Decoder Code der unter GNU General Public License Version 2 veröffentlicht wurde http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.

Der JPEG-Decoder in dieser Bibliothek ist auf  C + +-Code für einen Viewer ("JViewer") basiert und von Bee-Chung Chen geschrieben und herausgegeben.

http://www.cs.wisc.edu/~beechung/home/coding/index.html.
Von Helmut Dersch -
der@fh-furtwangen.de auf Java übertragen.

Und für den Einsatz mit Basic4Android von Andrew Graham geändert.

 

JpegHeight As Int [read only]

Gibt die Höhe des Original JPEG Bildes zurück das mit LoadSection oder LoadSizeOnly geladen wurde.

JpegWidth As Int [read only]

Gibt die Breite des Original JPEG Bildes zurück das mit LoadSection oder LoadSizeOnly geladen wurde.

LoadJpegArea (instream As java.io.InputStream, left As Int, top As Int, width As Int, height As Int) As android.graphics.Bitmap

Lädt die angegebene Fläche des Bildes aus Instream Setting JpegWidth, JpegHeight und füllt das BmpPixels Array, das die Pixeldaten für diesen Bereich enthält. Diese Methode liest nur so weit in der Datei, wie es zur Lokalisierung des erforderlichen Bildbereiches braucht. Je nach der Stelle wo sich der gewünschte Bereich im Bild befindet hat eine Auswirkung auf die Bearbeitungszeit dieser Methode. Im Allgemeinen je weiter unten der untere Teil der gewünschten Fläche im Bild ist desto länger dauert es. Die Größe der benötigten Fläche hat auch eine große Auswirkungen auf die Bearbeitungszeit da die Berechnung jedes Pixelwertes aus den komprimierten Daten in der Datei eine erhebliche Menge Zeit erfordert.

Gibt ein neues Bitmap mit den Pixeldaten zurück.

LoadJpegSizeOnly (instream As java.io.InputStream)

Lädt nur die Größe des Bildes vom Instream Setting JpegWidth und JpegHeight.
Das Bild selbst wird nicht geladen.

LoadJpegSmaller (instream As java.io.InputStream, denominator As Int) As android.graphics.Bitmap

Lädt eine skalierte Version des Bildes aus Instream Einstellung JpgWidth und JpegHeight.

Die Skalierung ist immer ein ganzzahliger Bruchteil der ursprünglichen Größe, ein Denominator von 2 wird ein halbes Bild der Originalgröße geben, ein Denominator von 3 ein Bild mit ein Drittel der r Originalgröße und so weiter.

Die BmpWidth, BmpHeight und BmpPixels Array Werte sind davon nicht betroffen.

Gibt ein neues Bitmap, das möglicherweise auch noch mit Canvas.DrawBitmap skaliert werden kann, wenn erforderlich

Progress As Int [read only]

Gibt den Prozentsatz des Fortschrittes wärend der Ausführung von LoadJpegSection an.
Dies ist der gleiche Wert der dem Progress Event übergeben wird. Dieses Event ist Thread-safe
und läuft immer im Main Thread

SetBmpPixel (x As Int, y As Int, argb As Int)

Setzt den ARGB Wert für das gegebene Pixel im Pixelarray

SetPixelsFromBmp (bmp As android.graphics.Bitmap)

Füllt das Pixelarray mit den Pixelwerten der gegebenen Bitmap.
Ein neues Pixelarray, mit diesen Werten, wird erzeugt.

Version As Double [read only]

Gibt die Versionsnummer der Bibliothek zurück.


Top