android xml 图片倒转,Android实现图片反转、翻转、旋转、放大和缩小

**********************************************************************

android 实现图片的翻转

**********************************************************************

Resources res = this.getContext().getResources();

img = BitmapFactory.decodeResource(res, R.drawable.aa);

Matrix matrix = new Matrix();

matrix.postRotate(180); /*翻转180度*/

int width = img.getWidth();

int height = img.getHeight();

img_a = Bitmap.createBitmap(img, 0, 0, width, height, matrix, true);

然后可以直接把img_a draw到画布上,canvas.drawBitmap(img_a, 10, 10, p);

Matrix 是一个处理翻转、缩放等图像效果的重要类,Matrix.postScale 可设置缩放比例,默认为1

**********************************************************************

android 实现图片的旋转

**********************************************************************

public class ex04_22 extends Activity{

private ImageView mImageView;

private Button btn1,btn2;

private TextView mTextView;

private AbsoluteLayout layout1;

private int ScaleTimes=1,ScaleAngle=1;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mImageView=(ImageView)findViewById(R.id.myImageView);

final Bitmap bmp=BitmapFactory.decodeResource(this.getResources(),R.drawable.ex04_22_1);

final int widthOrig=bmp.getWidth();

final int heightOrig=bmp.getHeight();

mImageView.setImageBitmap(bmp);

btn1=(Button)findViewById(R.id.myButton1);

btn1.setOnClickListener(new OnClickListener(){

public void onClick(View v){

ScaleAngle--;

if(ScaleAngle

ScaleAngle=-60;

}

int newWidth=widthOrig*ScaleTimes;

int newHeight=heightOrig*ScaleTimes;

float scaleWidth=((float)newWidth)/widthOrig;

float scaleHeight=((float)newHeight)/heightOrig;

Matrix matrix=new Matrix();

matrix.postScale(scaleWidth, scaleHeight);

matrix.setRotate(5*ScaleAngle);

Bitmap resizeBitmap=Bitmap.createBitmap(bmp, 0, 0, widthOrig, heightOrig, matrix, true);

BitmapDrawable myNewBitmapDrawable=new BitmapDrawable(resizeBitmap);

mImageView.setImageDrawable(myNewBitmapDrawable);

}

});

btn2=(Button)findViewById(R.id.myButton2);

btn2.setOnClickListener(new OnClickListener(){

public void onClick(View v){

ScaleAngle++;

if(ScaleAngle>60){

ScaleAngle=60;

}

int newWidth=widthOrig*ScaleTimes;

int newHeight=heightOrig*ScaleTimes;

float scaleWidth=((float)newWidth)/widthOrig;

float scaleHeight=((float)newHeight)/heightOrig;

Matrix matrix=new Matrix();

matrix.postScale(scaleWidth, scaleHeight);

matrix.setRotate(5*ScaleAngle);

Bitmap resi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值