一、任意截取图像
可以使用Bitmap.createBitmap方法在原图像的基础上截获某一部分图像,并创建这部分图像的Bitmap对象
//截取(10,10,100,100)范围的图像
Bitmap smallBitmap = Bitmap.createBitmap(sourceBitmap,20,20,100,100);
//将获取后的图像显示在ImageView组件中
imageView.setImageBitmap(smallBitmap);
二、如果只想从图像的一端(上、下、左、右)截取图像,也可以使用图像剪切资源。这种资源需要在xml/drawable目录中建立一个xml文件,并使用下面的代码从图像左侧开始截取图像,然后只需要将图像街切资源当作普通资源使用即可
<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/logo.png"
android:clipOrientation="horizontal"
android:gravity="left">
</clip>
只是用图像剪切资源还无法获得图像剪切效果,最后还需要使用ClipDrawable.setLevel方法设置截取的百分比。系统预定义了10000为100%,下面的代码从图像左侧截取了30%
ImageView imageView = (ImageView)fingViewById(R.id.image);
ClipDrawable drawable = (ClipDrawable)imageView.getDrawable();
drawable.setLevel(3000);
将android:clipOrientation属性值设为vertical,可以从上、下两个方向截取图像