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