English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Methode zur Implementierung der Anzeige eines Teils eines Bildes in Android

本文实例讲述了Android编程实现只显示图片一部分的方法。以下是一些参考内容:

在Android应用程序中加载一张图片并显示出来是一件非常容易的事情,那么如何显示图片的一小部分呢?一种方法是先对图片进行ps处理,将需要显示的部分单独保存为一张图片,然后在程序中加载并显示它。但这样做会增加程序的图片数量。对于一张完整的图片,使用程序去切割你想要的部分也是非常简单的。

下面实现的一个程序,是加载了一张图片,然后经过变换让图片填充到手机的整个屏幕,然后在屏幕的中间显示图片中间的部分。100*10第0部分。

ShowPoritionPictureActivity代码:

package com.iwin.zzs;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.WindowManager;
public class ShowPoritionPictureActivity extends Activity {
  /** Wird aufgerufen, wenn die Aktivität zum ersten Mal erstellt wird. */
  Bitmap picRes;
  Bitmap showPic;
  //Erhalte die Breite und Höhe des Originalbildes
  int picWidth;
  int picHeight;
  private PoritionView poritonView = null;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // Statusleiste nicht anzeigen
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    DisplayMetrics dm = new DisplayMetrics();
    this.getWindowManager().getDefaultDisplay().getMetrics(dm);
    // Erhalte die Länge und Breite des Bildschirms
    int screenWidth = dm.widthPixels; //Horizontale Auflösung
    int screenHeight = dm.heightPixels; //Vertikale Auflösung
    picRes = BitmapFactory.decodeResource(this.getResources(), R.drawable.girl);
    // Erhalte die Länge und Breite des Bildes
    picWidth = picRes.getWidth();
    picHeight = picRes.getHeight();
    // Berechne den Skalierungsfaktor, das neue Maß durch das ursprüngliche Maß teilen
    float scaleWidth = ((float) screenWidth ) / picWidth;
    float scaleHeight = ((float) screenHeight ) / picHeight;
    // Erstelle das Objekt matrix, das für die Bildoperationen verwendet wird
    Matrix matrix = new Matrix();
    // Bilde skalieren
    matrix.postScale(scaleWidth, scaleHeight);
    // Das neue Bild ist das ursprüngliche Bild, das durch Transformation in das Bild gefüllt wird, das die gesamte Bildschirmfläche einnimmt
    Bitmap picNewRes = Bitmap.createBitmap(picRes, 0, 0,picWidth, picHeight, matrix, true);
    // bitmap = Bitmap.createBitmap(400, 480, Bitmap.Config.ARGB_8888);
    // canvas=new Canvas();
    // canvas.setBitmap(bitmap);
    showPic = Bitmap.createBitmap(picNewRes, screenWidth/2-50, screenHeight/2-50, 100, 100);
    poritonView = new PoritionView(this);
    poritonView.setBitmapShow(showPic, screenWidth/2-50, screenHeight/2-50);
    setContentView(poritonView);
}

Neuer PoritionView-Klassencode:

package com.iwin.zzs;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.view.View;
public class PoritionView extends View {
  private Bitmap showPic = null;
  private int startX = 0;
  private int startY = 0;
  public PoritionView(Context context) {
    super(context);
    // TODO Auto-generierter Konstruktorstub
  }
  @Override
  geschützte void onDraw(Canvas canvas) {
    // TODO Auto-generierter Methodenstub
    super.onDraw(canvas);
    canvas.drawBitmap(showPic, startX, startY, null);
  }
  public void setBitmapShow(Bitmap b, int x, int y)
  {
    showPic = b;
    startX = x;
    startY = y;
  }
}

Im Projektres/Fügen Sie das Bild gir.png im drawable-Verzeichnis hinzu und das Programm zeigt nur den Mittelpunkt des Bildes an.100*10Das Bildteil mit 0.

Interessierte Leser, die mehr über Android-Inhalte erfahren möchten, können die Themen dieser Website besuchen: "Zusammenfassung der Techniken zur Graphik- und Bildverarbeitung in Android", "Einführung und Fortschritt in der Android-Entwicklung", "Zusammenfassung der Techniken zur Fehlersuche und Behebung häufiger Probleme in Android", "Zusammenfassung der Techniken zur Multimedia-Operation in Android (Audio, Video, Aufnahme usw.)", "Zusammenfassung der Verwendung der grundlegenden Komponenten in Android", "Zusammenfassung der Techniken der Ansichten View in Android", "Zusammenfassung der Techniken der Layouts in Android" und "Zusammenfassung der Verwendung der Steuerelemente in Android".

Hoffentlich hilft Ihnen dieser Artikel bei der Android-Programmierung.

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrecht des jeweiligen Autors. Der Inhalt wurde von Internetnutzern freiwillig bereitgestellt und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat die Inhalte nicht von Hand bearbeitet. Die Website übernimmt keine Haftung für rechtliche Fragen. Wenn Sie auf Inhalte stoßen, die möglicherweise urheberrechtlich geschützt sind, sind Sie herzlich eingeladen, eine E-Mail an notice#w zu senden.3Beachten Sie, dass Sie bei einer Beschwerde die # durch @ ersetzen müssen und die relevanten Beweise bereitstellen. Sobald nachgewiesen wird, dass die Inhalte urheberrechtlich geschützt sind, werden die fraglichen Inhalte sofort gelöscht. Wenn Sie auf Inhalte stoßen, die möglicherweise urheberrechtlich geschützt sind, freuen wir uns über eine E-Mail an notice#w.

Mag sein