ShowPoritionPictureActivity代码:

[java] <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> 
<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);
        // 得到图片的长和宽 www.2cto.com
        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类代码:

[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; 
    } 

</span> 
<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>

在工程res/drawable里面添加图片gir.png,运行程序的效果是只显示图片的中间100*100的那部分图片。

用android代码显示图片的一部分源码相关推荐

  1. android 图片查看源码,Android 简单的图片查看器源码

    public class MainActivity extends Activity { private EditText et_path; private ImageView iv; //创建han ...

  2. android实现显示阳历和农历源码

    点击打开链接 前些天在网上找阳历转农历的源码找了好久都找不到,但是幸运的是找到了李宁老师<Android/OPhone开发完全讲义>日历的源码,但是可惜的是源码中农历的部分没有了.. 于是 ...

  3. android中如何显示图片的一部分

    android中如何显示图片的一部分 分类: Android应用开发系列教程 Android应用开发技巧 2012-04-25 23:42 1728人阅读 评论(0) 收藏 举报 androidmat ...

  4. 图片坐标提取软件/图片坐标点和像素点颜色提取软件/图片坐标获取工具/Python图片坐标获取源码/图片像素坐标获取软件/python tkinter 图片显示(完全开源)

    该软件使用python写的,可以提取像素点的坐标还有也能获取像素点的16进制数据RGB565和RGB888(RGB888仅最新的源码才支持),可以单点坐标也可以按键坐标,甚至可以使用简单的左右键配合使 ...

  5. android壁纸软件代码,android高清壁纸APP完整源码HD Wallpaper(服务端+客户端)

    描述 android高清壁纸APP完整源码HD Wallpaper with Material Design,包含android客户端源码.php+mysql服务端源码,带文档 "HD Wa ...

  6. Android Jetpack组件之Navigation使用-源码

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

  7. Android Jetpack组件之 Room使用-源码

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

  8. Android Jetpack组件之 Paging使用-源码

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

  9. 50个Android开发人员必备UI效果源码[转载]

    Android 仿微信之主页面实现篇 Android 仿微信之界面导航篇 Android 高仿QQ 好友分组列表 Android 高仿QQ 界面滑动效果 Android 高仿QQ 登陆界面 Andro ...

最新文章

  1. OpenCV 4.5.3 发布!优化DNN等多个模块~
  2. tomcat的JK和JK2
  3. P3711 仓鼠的数学题(伯努利数)
  4. 【建议珍藏系列】如果你这样回答「什么是线程安全」,面试官都会对你刮目相看!...
  5. 静态成员内部类和非静态成员内部类的实例化方式
  6. mysql错误码 1045_MySql错误代码1045的解决方法
  7. 《2019年数据及存储发展研究报告》十大洞察
  8. linux——网络情报收集(总结篇.干货+实战)
  9. 套接字的作用与一般使用_05 | 使用套接字进行读写
  10. java.text.ParseException: Unparseable date:
  11. Leetcode NO.63 Unique Paths II
  12. FlashFXP 连接centos
  13. 基于java的小区物业报修管理系统
  14. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java14 的新特性
  15. 斗鱼显示弹幕服务器连接失败,斗鱼看不到弹幕的解决方法步骤
  16. 《拥抱变化——社交网络时代的企业转型之道》一第2章 找准组织目标和企业文化...
  17. Hadoop集群中HDFS的API测试案例以及MapReduce的多种提交Job方式案例
  18. 绕过CDN查找真实IP方法
  19. 害怕失败,所以全力以赴
  20. java.sql.SQLSyntaxErrorException Unknown column····

热门文章

  1. Java经典好书推荐-从入门到进阶
  2. 最美应用+html模板,带你秀的飞起 - 三款 H5 制作应用 - iPhone应用 - 【最美应用】...
  3. 《软件需求分析 复习 的参考资料》
  4. linux多网卡捆绑
  5. 拜占庭将军问题的几点理解
  6. java乱码utm-8_常用地址收集
  7. 蝴蝶效应--不经意间改变人的一生
  8. Rhythmbox 中文乱码解决
  9. img标签的alt属性简单介绍
  10. 前端基础全(基础+实例)