图片的旋转和缩放android高级

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

view plaincopy to clipboardprint?

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;

8.import android.os.Bundle;

9.import youtParams;

10. import android.widget.ImageView;

11. import android.widget.LinearLayout;

12. import android.widget.ImageView.ScaleType;

13.

14. public class MainActivity extends Activity {

15. public void onCreate(Bundle icicle) {

16. super.onCreate(icicle);

17. LinearLayout linLayout = new LinearLayout(this);

18. // 加载需要操作的图片,这里是eoeAndroid的logo图片

19. Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),

20. 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;

29.

30. //计算缩放率,新尺寸除原始尺寸

31. float scaleWidth = ((float) newWidth) / width;

32. float scaleHeight = ((float) newHeight) / height;

33.

34. // 创建操作图片用的matrix对象

35. Matrix matrix = new Matrix();

36.

37. // 缩放图片动作

38. matrix.postScale(scaleWidth, scaleHeight);

39.

40. //旋转图片动作

41. matrix.postRotate(45);

42.

43. // 创建新的图片

44. Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,

45. width, height, matrix, true);

46.

47. //将上面创建的Bitmap转换成Drawable对象,使得其可以使用在

ImageView, ImageButton中

48. BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

49.

50. //创建一个ImageView

51. ImageView imageView = new ImageView(this);

52.

53. // 设置ImageView的图片为上面转换的图片

54. imageView.setImageDrawable(bmd);

55.

56. //将图片居中显示

57. imageView.setScaleType(ScaleType.CENTER);

58.

59. //将ImageView添加到布局模板中

60. linLayout.addView(imageView,

61. new youtParams(

62. LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT

63. )

64. );

65.

66. // 设置为本activity的模板

67. setContentView(linLayout);

68. }

69. }

相关文档
最新文档