Git Product home page Git Product logo

pinchimageview's Issues

看代码过程中有一点疑问

Hi, 我是一个android程序员,github上发现了你做的PincnImageView这个神奇的库。
我在使用这个库的过程中,有一点疑问:

图片放大缩小的动画过程中,除了对matrix的放大缩小之外,为什么还要同步进行一个mask的放大缩小动画?

我尝试注视掉相关的代码,也能正常运行,出现预期的效果

能不能简单的给我解释一下,mask存在的意义....

谢谢啦

Picasso加载图片闪烁问题

在Demo应用中我将图片加载方式由ImageLoader 改 为Picasso方式出现闪烁问题。
//Global.getImageLoader(getApplicationContext()).displayImage(image.getUrl(100, 100), piv, thumbOptions);
Picasso.with(PagerActivity.this).load(image.getUrl(100,100)).into(piv);

//Global.getImageLoader(getApplicationContext()).displayImage(image.getUrl(image.getOriginWidth(), image.getOriginHeight()), piv, originOptions);
Picasso.with(PagerActivity.this).load(image.getUrl(image.getOriginWidth(), image.getOriginHeight())).into(piv);

图片宽度

求助:怎么获得图片缩放后的宽度 还有平移后左边未显示部分的宽度 谢谢

图片缩放后得到imageview区域显示的图片

作者您好

本人在使用您的控件的过程中需要获取到缩放后imageview显示部分的图片,我看了您的代码,似乎没有找到api , 不知道该如何获取。

希望能得到您的回复与解答

谢谢!

长图展示为问题

加载一个长图是可以让图片宽度适配整个屏幕,目前是中间一个长条。

大图超卡

3MB的图片双指操作已经卡到不能接受

为什么要自己实现 ViewPager?

从可维护性的角度,更合适的做法是继承 ViewPager,重写部分方法。为什么要整个重写 ViewPager?希望能改进一下。

旋转后出现问题

matrix.postRotate(90, mImageView.getWidth()/2, mImageView.getHeight()/2);
mImageView.outerMatrixTo(matrix, 200);
当outerMatrixTo接口传递一个旋转的matrix时,放大后,图片消失在视图中。
有没有什么办法解决?

长图展示不了

你好,这个控件很好用,我十分喜欢,但是不能展示长图,我想问问,能不能优化一下,让长图也能展示,谢谢

如何获取点击位置对应的图片位置

// 对方法进行扩展~(直接改的源码)
public boolean onSingleTapConfirmed(MotionEvent e) {
//触发点击
if (mOnClickListener != null) {
mOnClickListener.onClick(PinchImageView.this);
}
if (null != imageOnClickListener){
// 获取触摸点的坐标 x, y
float x = e.getX();
float y = e.getY();
// 目标点的坐标
float dst[] = new float[2];
// 获取到ImageView的matrix
Matrix imageMatrix = getImageMatrix();
// 创建一个逆矩阵
Matrix inverseMatrix = new Matrix();
// 求逆,逆矩阵被赋值
imageMatrix.invert(inverseMatrix);
// 通过逆矩阵映射得到目标点 dst 的值
inverseMatrix.mapPoints(dst, new float[]{x, y});
float dstX = dst[0];
float dstY = dst[1];
// 获取图片的大小
float drawWidth = getDrawable().getBounds().width();
float drawHeight = getDrawable().getBounds().height();
float deviceX = dstX/drawWidth;
float deviceY = dstY/drawHeight;
// 判断dstX, dstY在Bitmap上的位置即可
if (!(deviceX<0 || deviceX>1 || deviceY<0 || deviceY>1)){
imageOnClickListener.onClick(deviceX,deviceY);
}
}
return true;
}

配合Glide使用

配合Glide使用加载小图的时候 会拉伸图片尺寸,请问怎么修改

存在性能问题 一直渲染绘制

在GridView中使用发现PinchImageView一直在渲染绘制
只在显示数据的情况下有一直渲染绘制,点击后就没有一直渲染绘制,回来又有一直渲染绘制。
@OverRide
protected void onDraw(Canvas canvas) {
//在绘制前设置变换矩阵
if (isReady()) {// debug这一直返回true
……
setImageMatrix(getCurrentImageMatrix(matrix));
……
}
……
}

onDraw()->isReady()->setImageMatrix()->invalidate()->onDraw()->isReady()…进入死循环…onDraw()->isReady()->setImageMatrix()->invalidate()
手机打开Profile GUP rendering 选 On screen as bars 显示一直在渲染绘制

如何兼容侧滑返回呢?

如何兼容侧滑返回呢?
没有双击放大前可以侧滑返回
双击放大后,滑动到边缘后才能侧滑返回

组件使用的是BGASwipeBackLayout

有些超大的图片加载的时候不显示

图片地址: http://wimg.spriteapp.cn/x/640x400/ugc/2016/09/21/57e1bf635a4e2.jpg
这个图片的尺寸是 640*17195.

加载相对小一些的图片是非常完美的,但是上面提到的这张图片就是加载不进去 也不报错,我试了一下在photoView中是可以显示出来的,imageView中也是可以的.希望有时间可以看看这个问题.(不止上面提到的这一张图片有问题,还有其他的比如 http://wimg.spriteapp.cn/x/640x400/ugc/2016/09/23/57e45fc869587.jpg)

最近我也在看你的这个控件.非常的赞

报错啦

This custom view should extend android.support.v7.widget.AppCompatImageView instead

viewpager 结合

请问跟viewpager 结合的时候需要注意什么? 谢谢

Glide拿不到监听回调

大图很多都是全屏参看的,全屏加载需要知道Loading,error,success状态. 当把该控件findviewbyid转化为Imageview后, 通过Glide加载,使用监听器RequestListener,发现拿不到任何回调,原因未知, findviewbyid为此自定义控件也不行, 用普通的Imageview就可以拿到回调. Glide版本3.7.0.

viewpager冲突

跟viewpager联用有冲突...使用你demo里面自己写的viewpager也是一样...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.