BitmapFactory gibt ein größeres Bild als die Quelle zurück

7

Hi, ich erstelle ein Bitmap aus einem PNG-Bild namens image.png . Das Bild hat die Dimension 75 (Breite) x 92 (Höhe). Wenn ich diesen Code ausführe:

%Vor%

Loggerprotokolle:

%Vor%

und das Bild auf dem Bildschirm ist größer als andere Bilder, die die Dimension 75 x 92 haben. Was kann ich tun, um Android das Bild mit der richtigen Dimension zu laden?

    
Franziskus Karsunke 09.09.2011, 15:00
quelle

3 Antworten

11

Es scheint, dass die Bildschirmdichte auf Ihrem Gerät anders ist als die Dichte, in der image.png erstellt wurde.

Wenn Sie die Skalierung wirklich verhindern möchten, können Sie eine der folgenden Möglichkeiten ausprobieren:

  1. Platzieren Sie das Bild in res / drawable-nodpi ( Ссылка )

  2. Verwenden Sie ImageView.ScaleType.CENTER ( Ссылка )

  3. Gerade diese Frage zu SO gefunden: Android: Wie man Android 1.6+ davon abhält, Bilder zu skalieren

Ben Jakuben 09.09.2011, 15:19
quelle
18
___ qstnhdr ___ BitmapFactory gibt ein größeres Bild als die Quelle zurück ___ qstntxt ___

Hi, ich erstelle ein Bitmap aus einem PNG-Bild namens %code% . Das Bild hat die Dimension 75 (Breite) x 92 (Höhe). Wenn ich diesen Code ausführe:

%Vor%

Loggerprotokolle:

%Vor%

und das Bild auf dem Bildschirm ist größer als andere Bilder, die die Dimension 75 x 92 haben. Was kann ich tun, um Android das Bild mit der richtigen Dimension zu laden?

    
___ antwort13621767 ___

Meine Lösung:

%Vor%     
___ answer7363867 ___

Beause Loader in BitmapFactory wendet während des Ladens die Bildschirmdichte an. Um dies zu überschreiben, stellen Sie in der BitmapFactory.Option im Aufruf von decodeResource die gewünschte inTargetDensity-Eigenschaft bereit.

    
___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ tag123bitmapfactory ___ Eine Bitmap-Factory erstellt Bitmap-Objekte aus verschiedenen Quellen, einschließlich Dateien, Streams und Byte-Arrays. ___ answer7363864 ___

Es scheint, dass die Bildschirmdichte auf Ihrem Gerät anders ist als die Dichte, in der image.png erstellt wurde.

Wenn Sie die Skalierung wirklich verhindern möchten, können Sie eine der folgenden Möglichkeiten ausprobieren:

  1. Platzieren Sie das Bild in res / drawable-nodpi ( Ссылка )

  2. Verwenden Sie ImageView.ScaleType.CENTER ( Ссылка )

  3. Gerade diese Frage zu SO gefunden: Android: Wie man Android 1.6+ davon abhält, Bilder zu skalieren

___
phusung 29.11.2012 08:39
quelle
3

Beause Loader in BitmapFactory wendet während des Ladens die Bildschirmdichte an. Um dies zu überschreiben, stellen Sie in der BitmapFactory.Option im Aufruf von decodeResource die gewünschte inTargetDensity-Eigenschaft bereit.

    
Pointer Null 09.09.2011 15:19
quelle

Tags und Links