android中如何显示图片的一部分
来源:互联网 发布:glibc 源码 编辑:程序博客网 时间:2024/04/28 17:55
在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);
- // 得到图片的长和宽
- 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);
- }
- </span>
新建PoritionView类代码:
- <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;
- }
- }
- </span>
0 0
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android中如何显示图片的一部分
- android 剪切图片 显示图片的一部分
- 如何解决Word中粘贴图片时只显示一部分的问题?
- 教你如何HTML显示一张图片的一部分
- 用android代码显示图片的一部分源码
- datagrid中如何只显示字符串的一部分
- 《如何在一个Activity的一部分中显示其他Activity》
- 如何在ImageView组件中显示图像的一部分
- word中图片只能显示一部分原因
- Android 在一个Activity的一部分中显示其他Activity
- android开发ViewPager按比例显示图片(显示下一张图片的一部分)
- 网页上截取显示图片的一部分
- android中实现从一个图片中截取一部分,在翻转,成一个圆形显示
- 如何让场景的一部分全屏显示?
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- 安卓出现android.widget.TextView cannot be cast to android.widget.Button问题
- Leetcode【11】:Container With Most Water
- loadrunner录制脚本,自动关闭的多种原因--待后续在补充
- 计算机视觉开源库集合
- android中如何显示图片的一部分
- Java引用类型
- 微软服务器虚拟化
- 去除inline-block元素间间距的N种方法
- linux自动发邮件
- MySQL存储过程
- 后缀数组poj2774 poj3415
- ios xcode 下 报出 ”xx“is missing from working copy 的问题
- R语言绘图篇(三)