android中如何显示图片的一部分
来源:互联网 发布:网络监控器软件下载 编辑:程序博客网 时间:2024/05/09 20:21
在android应用程序中加载一张图片,然后把它显示出来这是一件非常容易的事情,那怎么才能显示一张图片的一小部分呢,一种做法是把图片ps一下,要显示的那部分单独存成一张图片,然后程序中加载它,并把它显示出来。但这样会增加程序的图片量。对一张完整的图,用程序去切割你想要的那部分也是很简单的。
下面实现的一个程序,是加载了一张图片,然后经过变换让图片填充到手机的整个屏幕,然后在屏幕的中间显示图片中间的100*100的部分。
ShowPoritionPictureActivity代码:
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);
// 得到图片的长和宽
picWidth = picRes.getWidth();
picHeight = picRes.getHeight();
// 计算缩放率,新尺寸除原始尺寸
float scaleWidth = ((float) screenWidth ) / picWidth;
float scaleHeight = ((float) screenHeight ) / picHeight;
// 创建操作图片用的matrix对象
Matrix matrix = new Matrix();
// 缩放图片动作
matrix.postScale(scaleWidth, scaleHeight);
// 新得到的图片是原图片经过变换填充到整个屏幕的图片
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);
}
新建PoritionView类代码:
[java] <span style="font-size:16px;">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;
}
}
在工程res/drawable里面添加图片gir.png,运行程序的效果是只显示图片的中间100*100的那部分图片。
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android 剪切图片 显示图片的一部分
- 如何解决Word中粘贴图片时只显示一部分的问题?
- 教你如何HTML显示一张图片的一部分
- 用android代码显示图片的一部分源码
- datagrid中如何只显示字符串的一部分
- 《如何在一个Activity的一部分中显示其他Activity》
- 如何在ImageView组件中显示图像的一部分
- word中图片只能显示一部分原因
- Android 在一个Activity的一部分中显示其他Activity
- android开发ViewPager按比例显示图片(显示下一张图片的一部分)
- 网页上截取显示图片的一部分
- android中实现从一个图片中截取一部分,在翻转,成一个圆形显示
- 如何让场景的一部分全屏显示?
- @@IDENTITY IDENT_CURRENT SCOPE_IDENTITY区别
- Google 地图下载工具 (C#)
- php/perl/python , 通过thrift 连接 hbase,进行条件过滤选择
- 后台Order grid 显示所有items图片
- Google Calendar 学习记录
- android中如何显示图片的一部分
- error C2833 MFC添加任意自定义函数报错 解决方法
- ubuntu12.04清除DNS缓存
- 延迟加载(懒加载)---LazyLoad
- Gerrit删除项目
- java中序列化的作用
- Android PagerAdapter的用法
- WINCE下如何生成debug版dll文件
- 基于erlang的mapreduce排序之一