欢迎来到天天文库
浏览记录
ID:42388957
大小:72.50 KB
页数:3页
时间:2019-09-14
《图片的旋转和缩放android高级》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、viewplaincopytoclipboardprint?1.package com.test.activity; 2. 3.import android.app.Activity; 4.import android.graphics.Bitmap; 5.import android.graphics.BitmapFactory; 6.import android.graphics.Matrix; 7.import android.graphics.drawable.BitmapDrawable;
2、8.import android.os.Bundle; 9.import android.view.ViewGroup.LayoutParams; 10.import android.widget.ImageView; 11.import android.widget.LinearLayout; 12.import android.widget.ImageView.ScaleType; 13. 14.public class MainActivity extends Activity { 15.pub
3、lic void onCreate(Bundle icicle) { 16. super.onCreate(icicle); 17. LinearLayout linLayout = new LinearLayout(this); 18. // 加载需要操作的图片,这里是eoeAndroid的logo图片 19. Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(), 2
4、0. R.drawable.sss); 21. 22. //获取这个图片的宽和高 23. int width = bitmapOrg.getWidth(); 24. int height = bitmapOrg.getHeight(); 25. 26. //定义预转换成的图片的宽度和高度 27. int newWidth = 200; 28. int newHeight = 200;
5、 1. 2. //计算缩放率,新尺寸除原始尺寸 3. float scaleWidth = ((float) newWidth) / width; 4. float scaleHeight = ((float) newHeight) / height; 5. 6. // 创建操作图片用的matrix对象 7. Matrix matrix = new Matrix(); 8. 9. // 缩放图片动作 10
6、. matrix.postScale(scaleWidth, scaleHeight); 11. 12. //旋转图片 动作 13. matrix.postRotate(45); 14. 15. // 创建新的图片 16. Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0, 17. width, height,
7、 matrix, true); 18. 19. //将上面创建的Bitmap转换成Drawable对象,使得其可以使用在ImageView, ImageButton中 20. BitmapDrawable bmd = new BitmapDrawable(resizedBitmap); 21. 22. //创建一个ImageView 23. ImageView imageView = new ImageView(this); 24. 25
8、. // 设置ImageView的图片为上面转换的图片 26. imageView.setImageDrawable(bmd); 27. 28. //将图片居中显示 29. imageView.setScaleType(ScaleType.CENTER); 30. 31.
此文档下载收益归作者所有