ImageView实现图像的放大缩小和旋转功能
2013-05-01 11:09
656 查看
上次看到了《老罗的视频开发教程》对ImageView实现图像的旋转和放缩功能,今天写下这个方法。
一)实现图像的放大缩小
1)首先在xml文件中定义ImageView控件,内容如下:
<ImageView
android:id="@+id/imageview"
android:layout_width="200dp"
android:layout_height="150dp"
android:contentDescription="@string/app_name"
android:scaleType="fitCenter"
android:src="@drawable/ic_activity" />
<SeekBar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/seekbar1"
android:layout_marginTop="20dp"
/>seekBar的作用是选择不同的位置,使图像相应的放大。
2)然后在java代码中:
DisplayMetrics dm=new DisplayMetrics();//这个类的作用是获取屏幕的像素
getWindowManager().getDefaultDisplay().getMetrics(dm);
final int width=dm.widthPixels;//屏幕的水平像素
final int hei=dm.heightPixels;//屏幕的垂直像素
seekBar.setOnSeekBarChangeListener(this);
在seekBar的事件监听事件中:
int newWidth=arg1+minWidth;//arg1表示seekbar的进度值
int newHeight=(int)newWidth*3/4;//水平和垂直的高度比是4:3
imageView.setLayoutParams(new LinearLayout.LayoutParams(newWidth, newHeight));
textView1.setText("图像宽度:"+newWidth+"图像高度:"+newHeight);
二)实现图像的旋转
1)首先在xml文件中定义ImageView(上面那个)和一个SeekBar控制旋转的角度
<SeekBar
android:layout_marginTop="20dp"
android:max="360" //360度旋转
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/seekbar2"
></SeekBar>
2)用代码去实现
Bitmap bp=((BitmapDrawable)(getResources().getDrawable(R.drawable.ic_activity))).getBitmap();//获取图片
matrix.setRotate(arg1);//设置角度
Bitmap bitmap=Bitmap.createBitmap(bp, 0, 0, bp.getWidth(), bp.getHeight(), matrix, true);//重绘图像
imageView.setImageBitmap(bitmap);//显示在ImageView中
注:把工程代码贴上来,地址如下:http://download.csdn.net/detail/yinhaojun891226/5319136
一)实现图像的放大缩小
1)首先在xml文件中定义ImageView控件,内容如下:
<ImageView
android:id="@+id/imageview"
android:layout_width="200dp"
android:layout_height="150dp"
android:contentDescription="@string/app_name"
android:scaleType="fitCenter"
android:src="@drawable/ic_activity" />
<SeekBar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/seekbar1"
android:layout_marginTop="20dp"
/>seekBar的作用是选择不同的位置,使图像相应的放大。
2)然后在java代码中:
DisplayMetrics dm=new DisplayMetrics();//这个类的作用是获取屏幕的像素
getWindowManager().getDefaultDisplay().getMetrics(dm);
final int width=dm.widthPixels;//屏幕的水平像素
final int hei=dm.heightPixels;//屏幕的垂直像素
seekBar.setOnSeekBarChangeListener(this);
在seekBar的事件监听事件中:
int newWidth=arg1+minWidth;//arg1表示seekbar的进度值
int newHeight=(int)newWidth*3/4;//水平和垂直的高度比是4:3
imageView.setLayoutParams(new LinearLayout.LayoutParams(newWidth, newHeight));
textView1.setText("图像宽度:"+newWidth+"图像高度:"+newHeight);
二)实现图像的旋转
1)首先在xml文件中定义ImageView(上面那个)和一个SeekBar控制旋转的角度
<SeekBar
android:layout_marginTop="20dp"
android:max="360" //360度旋转
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/seekbar2"
></SeekBar>
2)用代码去实现
Bitmap bp=((BitmapDrawable)(getResources().getDrawable(R.drawable.ic_activity))).getBitmap();//获取图片
matrix.setRotate(arg1);//设置角度
Bitmap bitmap=Bitmap.createBitmap(bp, 0, 0, bp.getWidth(), bp.getHeight(), matrix, true);//重绘图像
imageView.setImageBitmap(bitmap);//显示在ImageView中
注:把工程代码贴上来,地址如下:http://download.csdn.net/detail/yinhaojun891226/5319136
相关文章推荐
- 自定义ImageView 实现双击放大缩小还原,无极缩小和旋转及拖动(多机型测试很稳定)
- Android自定义ImageView实现图片缩放滑动,双击放大缩小,多点触控旋转,圆角矩形,圆形和仿刮刮卡效果
- TouchImageView 实现图片的缩放,双击放大缩小,多点触控的功能
- Android中imageView图片放大缩小及旋转功能示例代码
- 自定义ImageView实现图片手势滑动、放大缩小效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- 自定义ImageView(实现图片的放大缩小;放大后可平移)
- Android实现ImageView图片双击放大及缩小
- 自定义ImageView实现拖动、旋转、缩放功能
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- Android自定义ImageView(二)——实现双击放大与缩小图片
- ImageView+ViewPager+PhotoView实现朋友圈图片点击全屏查看支持放大缩小
- 【Android 开发】:UI控件之 ImageView 实现图片旋转和缩放功能
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android 自定义imageview实现 图片放大缩小
- Androin学习笔记五十四: android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- iOS scrollview实现图片放大和缩小的功能