图片的旋转和缩放android高级.doc_第1页
图片的旋转和缩放android高级.doc_第2页
图片的旋转和缩放android高级.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

view plaincopy to clipboardprint?1. packagecom.test.activity;2. 3. importandroid.app.Activity;4. importandroid.graphics.Bitmap;5. importandroid.graphics.BitmapFactory;6. importandroid.graphics.Matrix;7. importandroid.graphics.drawable.BitmapDrawable;8. importandroid.os.Bundle;9. importandroid.view.ViewGroup.LayoutParams;10. importandroid.widget.ImageView;11. importandroid.widget.LinearLayout;12. importandroid.widget.ImageView.ScaleType;13. 14. publicclassMainActivityextendsActivity15. publicvoidonCreate(Bundleicicle)16. super.onCreate(icicle);17. LinearLayoutlinLayout=newLinearLayout(this);18. /加载需要操作的图片,这里是eoeAndroid的logo图片 19. BitmapbitmapOrg=BitmapFactory.decodeResource(getResources(),20. R.drawable.sss);21. 22. /获取这个图片的宽和高 23. intwidth=bitmapOrg.getWidth();24. intheight=bitmapOrg.getHeight();25. 26. /定义预转换成的图片的宽度和高度 27. intnewWidth=200;28. intnewHeight=200;29. 30. /计算缩放率,新尺寸除原始尺寸 31. floatscaleWidth=(float)newWidth)/width;32. floatscaleHeight=(float)newHeight)/height;33. 34. /创建操作图片用的matrix对象 35. Matrixmatrix=newMatrix();36. 37. /缩放图片动作 38. matrix.postScale(scaleWidth,scaleHeight);39. 40. /旋转图片动作 41. matrix.postRotate(45);42. 43. /创建新的图片 44. BitmapresizedBitmap=Bitmap.createBitmap(bitmapOrg,0,0,45. width,height,matrix,true);46. 47. /将上面创建的Bitmap转换成Drawable对象,使得其可以使用在ImageView,ImageButton中 48. BitmapDrawablebmd=newBitmapDrawable(resizedBitmap);49. 50. /创建一个ImageView 51. ImageViewimageView=newImageView(this);52. 53. /设置ImageView的图片为上面转换的图片 54. imageView.setImageDrawable(bmd);55. 56. /将图片居中显示 57. imageView.setScaleType(ScaleType.CENTER);58. 59. /将ImageView添加到布局模板中 60. linLayout.addView(imageView,61. newLinearLayout.LayoutParams(62. LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT63. )64. );65. 66. /设置为本activity的模板 67. setContentView(linLayout);68. 69. package com.test.activity;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.view.ViewGroup.LayoutParams;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ImageView.ScaleType;public class MainActivity extends Activity public void onCreate(Bundle icicle) super.onCreate(icicle); LinearLayout linLayout = new LinearLayout(this); / 加载需要操作的图片,这里是eoeAndroid的logo图片 Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(), R.drawable.sss); /获取这个图片的宽和高 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添加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论