作者:张宗硕
在android应用程序中加载一张图片,然后把它显示出来这是一件非常容易的事情,那怎么才能显示一张图片的一小部分呢,一种做法是把图片ps一下,要显示的那部分单独存成一张图片,然后程序中加载它,并把它显示出来。但这样会增加程序的图片量。对一张完整的图,用程序去切割你想要的那部分也是很简单的。
下面实现的一个程序,是加载了一张图片,然后经过变换让图片填充到手机的整个屏幕,然后在屏幕的中间显示图片中间的100*100的部分。
ShowPoritionPictureActivity代码:
- <span style="font-size:16px;">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 {
- /** Called when the activity is first created. */
- Bitmap picRes;
- Bitmap showPic;
- //获取原图片的宽和高
- int picWidth;
- int picHeight;
- private PoritionView poritonView = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 不显示状态栏
- this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
- DisplayMetrics dm = new DisplayMetrics();
- this.getWindowManager().getDefaultDisplay().getMetrics(dm);
- // 得到屏幕的长和宽
- int screenWidth = dm.widthPixels; //水平分辨率
- int screenHeight = dm.heightPixels; //垂直分辨率
- picRes = BitmapFactory.decodeResource(this.getResources(), R.drawable.girl);
- // 得到图片的长和宽