Android GPUImage,如何捏入,出?

时间:2015-09-09 07:59:37

标签: android image zoom gpuimage pinch

我正在使用https://github.com/nginxinc/docker-nginx/blob/7f3ef0927ec619d20181e677c97f991df0d7d446/Dockerfile

在.xml布局文件中,我使用GPUImageView来显示照片。

现在我想要照片可以拖动和放大放大/缩小。

我应该采取哪种方式:

  1. 使用类似这样的过滤器:
  2.   

    "您可以将GPUImageTransformFilter应用于GPUImagePicture(添加   将变换滤镜作为图片的目标,然后添加混合   过滤器作为变换过滤器的目标)。然后你可以申请   对图像的任意变换,如缩放,旋转和   。翻译"

    https://github.com/CyberAgent/android-gpuimage

    1. 自定义GPUImageView,例如这些ImageViewZoom库:
    2. https://github.com/BradLarson/GPUImage/issues/51

      如果您有其他方式或更多细节,请告诉我。

      -------------更新--------------

      因为我稍后会添加一些自定义视图,所以我遵循这个想法:创建ZoomableViewGroup(来自https://github.com/search?l=Java&q=image+zoom&type=Repositories&utf8=%E2%9C%93),如下所示:

      <ZoomableViewGroup
          android:id="@+id/zoom_group"
          android:layout_above="@+id/panel_adjuster"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content">
          <jp.co.cyberagent.android.gpuimage.GPUImageView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"/>
      <ZoomableViewGroup>
      

      ZoomableViewGroup很好地缩放了GPUImageView并没有。

2 个答案:

答案 0 :(得分:0)

使用getBitmapWithFilterApplied应用过滤器后,只需获取位图,然后将此位图设置为ImageView,并使用您在选项2中提到的列表中的任何库。

答案 1 :(得分:0)

您无法使用GPUImage进行缩放缩放。只需使用GPUImageView.capture()或GPUImageView.getBitmapWithFilterApplied()从GPUImage捕获位图,然后将此位图设置为imageView for Zoom。您可以使用Android imageView Zoom-in and Zoom-Out中建议的ZoomableImageView.java,CustomImageVIew.java或TouchImageView.java等 用于缩放。