我正在搜索ImageViewer库,该库在我的应用程序中打开给定URI的图像(通过Web服务获取的图像已存储在我的应用程序中的安全位置)。我真的很喜欢“三星Galaxy S” ImageViewer-Activity,因为它使用了捏缩放和“滚动”垂直/水平方向。它还可以在我的三星手机上快速缩放图片:)

我知道我可以这样打开图像:

Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(uri, "image/*");
startActivity(i);

当没有找到合适的查看器时,将引发ActivityNotFoundException异常。太酷了!

但是问题是我不允许出于外部目的(出于安全目的)打开图像。即:用户不应具有通过菜单选项将打开的图像保存到其外部SD卡的可能性,也不能将此图片发送给其他服务(电子邮件/推特或s.o.)。所以我必须编写自己的ImageViewer-Class(Activity),只能在我的应用程序中调用...
不幸的是,我对图像的转换不是很熟练,所以有没有涵盖此用例的开源项目(或库)?

我已经问过谷歌,发现了这个http://code.google.com/p/android-pinch/,但是效果不佳(也没有滚动功能)。

感谢您的提示:)

最佳答案

如果图像存储在本地或在线某个位置,则处理图像的最简单方法是使用WebView。 WebView支持捏缩放和其他功能。

示例Java:

String imageUrl = "file:///local/dir/image.jpg"; // http://example.com/image.jpg
WebView wv = (WebView) findViewById(R.id.yourwebview);
wv.getSettings().setBuiltInZoomControls(true);
wv.loadUrl(imageUrl);

XML来源:
<WebView android:id="@+id/yourwebview"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />

10-08 03:05