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

Metodo per implementare la visualizzazione di una parte dell'immagine in Android

Questo articolo spiega come implementare un metodo per mostrare solo una parte di un'immagine in Android programmazione. Condividiamo questo con tutti per riferimento, come segue:

Caricare un'immagine e mostrarla in un'applicazione Android è una cosa molto semplice, ma come si può mostrare una piccola parte di un'immagine? Un metodo è di fare un'edizione di immagini, salvare la parte da mostrare come un'immagine separata e poi caricarla e mostrarla nel programma. Tuttavia, questo aumenterà la quantità di immagini nel programma. È anche molto semplice tagliare la parte desiderata di un'immagine completa con un programma.

Il programma implementato di seguito carica un'immagine, la trasforma in modo che riempia l'intero schermo del telefono e poi mostra la parte centrale di 100x100 dell'immagine sullo schermo.

Codice di 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 {
  /** Chiamato quando l'attività viene creata per la prima volta. */
  Bitmap picRes;
  Bitmap showPic;
  // Ottenimento delle dimensioni originali dell'immagine
  int picWidth;
  int picHeight;
  private PoritionView poritonView = null;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // Non visualizzare la barra di stato
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    DisplayMetrics dm = new DisplayMetrics();
    this.getWindowManager().getDefaultDisplay().getMetrics(dm);
    // Ottenimento delle dimensioni dello schermo
    int screenWidth = dm.widthPixels; // Risoluzione orizzontale
    int screenHeight = dm.heightPixels; // Risoluzione verticale
    picRes = BitmapFactory.decodeResource(this.getResources(), R.drawable.girl);
    // Ottenimento delle dimensioni dell'immagine
    picWidth = picRes.getWidth();
    picHeight = picRes.getHeight();
    // Calcolo del tasso di ridimensionamento, nuova dimensione diviso la dimensione originale
    float scaleWidth = ((float) screenWidth ) / picWidth;
    float scaleHeight = ((float) screenHeight ) / picHeight;
    // Creazione dell'oggetto Matrix per l'operazione dell'immagine
    Matrix matrix = new Matrix();
    // Azione di ridimensionamento dell'immagine
    matrix.postScale(scaleWidth, scaleHeight);
    // La nuova immagine ottenuta è l'immagine originale trasformata e riempita per coprire l'intero schermo
    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);
}

Nuovo codice della classe PoritionView:

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-generated constructor stub
  }
  @Override
  protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    canvas.drawBitmap(showPic, startX, startY, null);
  }
  public void setBitmapShow(Bitmap b, int x, int y)
  {
    showPic = b;
    startX = x;
    startY = y;
  }
}

Aggiungi l'immagine gir.png nella directory res/drawable dell'ingegnere, l'effetto del programma è mostrare solo la parte centrale 100x100 dell'immagine.

I lettori interessati a ulteriori contenuti relativi a Android possono consultare le sezioni speciali del nostro sito: 'Riassunto delle tecniche di elaborazione di grafica e immagine Android', 'Manuale di introduzione e avanzamento dello sviluppo Android', 'Riassunto delle tecniche di debug e soluzioni ai problemi comuni di Android', 'Riassunto delle tecniche di operazione multimediale Android (audio, video, registrazione, ecc.)', 'Riassunto dell'uso dei componenti di base Android', 'Riassunto delle tecniche di View Android', 'Riassunto delle tecniche di layout Android' e 'Riassunto dell'uso dei controlli Android'.

Spero che l'articolo sia utile per il design dei programmi Android.

Dichiarazione: Il contenuto di questo articolo è stato prelevato da Internet, il copyright spetta ai rispettivi autori, il contenuto è stato contribuito volontariamente dagli utenti di Internet e caricato autonomamente, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale correlata. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una email a notice#oldtoolbag.com (sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare