PhotoView实现图片随手势的放大缩小的效果

项目需求:在listView的条目中如果有图片,点击条目,实现图片的放大,并且图片可以根据手势来控制图片放大缩小的比例。类似于微信朋友圈中查看好友发布的照片所实现的效果。

思路是这样的:当点击条目的时候触发listview的点击事件,跳转到另一个页面,在页面中自定义一个ImageView来实现图片的随手势的放大。但是点击图片来实现图片消失这一点这块小弟不会做,并且图片随手势的放大效果并不好。所幸的是最中找到了photoview这一个控件。使用photoView控件需要使用jar包:发现博客园不能上传jar,有需要的可以私信我:邮箱 [email protected]

下面简单说一下photoview的用法。非常简单幺

在布局文件中添加photoview控件:

  <uk.co.senab.photoview.PhotoView
        android:id="@+id/img_showimgview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

主界面中:

photoview = (PhotoView) findViewById(R.id.img_showimgview);

photoview.setImageBitmap(bit);

photoview的点击事件的监听:

photoview.setOnPhotoTapListener(new OnPhotoTapListener() {

            @Override
            public void onPhotoTap(View view, float x, float y) {
                // TODO Auto-generated method stub
                finish();

            }
        });

在实现项目的需求的过程中,遇到了图片失真的问题,下面说一下图片失真的原因:

起初的实现方法是这样的:

在点击listview的条目的时候获取到imageView中的图片,在实现页面跳转的时候将图像对象传递到下一个页面

获取ImageView中图片的方法是:

img_get_photo.setDrawingCacheEnabled(true);
bitt = Bitmap.createBitmap(img_get_photo.getDrawingCache());img_get_photo.setDrawingCacheEnabled(false);

问题就出现在这里,此时获得的bit,是imageview的“影像”并不是imageView中加载的图片,通俗得说就是对imageview进行截屏处理,因为listview条目中是缩略图,自然放大的时候就会失真。

时间: 2024-08-10 23:12:35

PhotoView实现图片随手势的放大缩小的效果的相关文章

Android中图片的处理(放大缩小,去色,转换格式,增加水印等)(转)

Android中图片的处理(放大缩小,去色,转换格式,增加水印等) 原文地址:http://menxu.lofter.com/post/164b9d_3ebf79 package com.teamkn.base.utils; import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.

swift3.0 图片放大缩小动画效果

一. 内容说明 跟我之前这篇类似,只不过那篇是OC版本,这篇是Swift版本 OC版本链接地址 目的:通过kingfisher请求5张图片,展示出来.然后利用图片放大缩小管理类展示图片,多张图片可以滑动浏览 效果图如下,想看动态的效果图,请看上面链接中的OC版本效果图,跟这篇是一样的. 本demo,只加载本地图片的demo下载链接 ,需要加载网络图片的,需要下载Kingfisher 二.源码展示 0. 图片测试demo源码 [html] view plain copy import Founda

简单的移动端图片预览 包含放大缩小以及对各种手势的判定

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/> <title>title&

图片的缩放(放大缩小)

package com.school.util; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** * * <b>类名称:图片处理工具类</b>ImageUtils<br/> * <

Winform 图片鼠标滚动查看(放大,缩小,旋转,拖动查看)[日常随笔]

方法千千万,我只是其中一笔[通过控制PictureBox来控制图片,图片完全施展在控件中]...几久不做,还真有点陌生! 窗体构造中添加鼠标滚动: 1 /// <summary> 2 /// 窗体构造方法 3 /// </summary> 4 public CandidateForm() 5 { 6 InitializeComponent(); 7 this.MouseWheel += new MouseEventHandler(CandidateForm_MouseWheel);

图片放大缩小(和ViewPager配合使用流畅显示)--第三方开源--PhotoView

图片的放大缩小实现效果是使用的github上的一个开源项目photoView实现的,下载地址:https://github.com/chrisbanes/PhotoView 下面看测试代码: activity_main.xml: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/too

iOS图片浏览器控件 放大,缩小,UIScrollView

GitHub地址 https://github.com/JerryWanXuJie/XJAlbum 图片浏览器主要通过 UIScrollView 实现  在一个大的ScollView里面套 n个ScollView UIScrollView里主要是有两个属性,contentSize和contentoffset , contentSize 是设定UIScrollView的可交互的大小,contentoffset偏移量 设置第一层 UIScollView 主要是设置 contentSize 和 con

UIButon 控件的尺寸放大缩小(也可以理解为图片的放大缩小,思路是一样的)-学习笔记

图片的放大缩小功能的简单实现(以一个简单的猜图项目中的放大缩小为例) 思路: 1.创建一个UIButton * guessimage  控件,设定好位置,再创建一个button bigImage控件测试一下 放大图片的方法 goToBig,同样放好位置: 2.给 guessimage 设置边距,尺寸大小,同样 bigImage 也进行设置等等: 3.给 bigImage 添加点击 放大图片的方法:goToBig, 在goToBig里面 定义 4个 座标的值,也就是 CGFloat guessim

Android 本地/网路下载图片实现放大缩小

 Android 本地加载/网路下载图片实现放大缩小拖拉效果,自定义控件. package com.example.ImageViewCustom; import android.app.Activity; import android.os.Bundle; import com.example.ImageViewCustom.CustomControl.MImageView; public class MyActivity extends Activity { MImageView mImag