public class Main2Activity extends BaseActivity {
Intent int1;
@Override
protected void onCreate(Bundle savedInstanceState) {
TestView v = new TestView(this);
super.onCreate(savedInstanceState);
setTitle("eoeAndroid教程: 缩放和旋转图片 -by:IceskYsl");
LinearLayout linLayout = new LinearLayout(this);
// 加载需要操作的图片,这里是eoeAndroid的 logo图片
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
//获取这个图片的宽和高
int width = bitmapOrg.getWidth();
int height = bitmapOrg.getHeight();
//定义预转换成的图片的宽度和高度
int newWidth = 200;
int newHeight = 200;
//计算缩放率,新尺寸除原始尺寸
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
// 创建操作图片用的matrix对象
Matrix matrix = new Matrix();
//旋转时缩放图片大小
matrix.postScale(scaleWidth, scaleHeight);
//旋转图片角度
matrix.postRotate(45);
// 创建新的图片
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,width, height, matrix, true);
//将上面创建的Bitmap转换成Drawable对象,使得其可以使用在ImageView, ImageButton中
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
//创建一个ImageView
ImageView imageView = new ImageView(this);
// 设置ImageView的图片为上面转换的图片
imageView.setImageDrawable(bmd);
//将图片居中显示
imageView.setScaleType(ScaleType.CENTER);
//将ImageView添加到布局模板中
linLayout.addView(imageView,
new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT
)
);
// 设置为本activity的模板
setContentView(linLayout);
}
}
简单的 Matrix 旋转操作
最新推荐文章于 2022-11-24 13:32:10 发布