在图像编辑器中处理大位图

Ken*_*ngs 5 android bitmap

对于我目前正在编写的程序,我需要一个简单的图像编辑器.基本上,用户只需从库中选择图像即可导航到此编辑器.选择后,将创建图像编辑器活动,并允许用户执行简单的编辑操作,如旋转,亮度调整,缩放等.

目前,我已经设法相对轻松地实现上述功能.我的问题在于动态地将相关图像添加到ImageView.你们许多人可能知道; Binder事务缓冲区具有有限的固定大小,当前为1Mb,由进程中正在进行的所有事务共享.因此,我只能将压缩版本的位图加载到我的ImageView中,这对我来说是一个相当大的问题(我的程序主要是为平板电脑设计的).我已经对这个问题做了大量的研究,并且发现可以将Bitmap分成几个较小的位图,并将它们放在几个ImageView中,以创建一个连续图像的错觉BitmapRegionDecoder(如本线程所示).虽然这已经成功地允许我显示大图像,但我不知道我应该如何使用多个实例来实现缩放功能ImageView.是否有一种相对简单的方法可以做到这一点?

Tar*_*kiv 3

观看来自 Google I/O 的视频,其中他们开发了具有图像编辑功能的高级图库应用程序。

您可以在此处下载该应用程序的源代码。这是打开图像编辑活动的方式:

private OnItemClickListener mPhotoClickListener = new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // User clicked on photo, open our viewer
        final Intent intent = new Intent(AlbumActivity.this, PhotoActivity.class);
        final Uri data = ContentUris.withAppendedId(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id);
        intent.setData(data);
        startActivity(intent);
    }
};
Run Code Online (Sandbox Code Playgroud)

该画廊还实现了图像编辑功能。该代码可能会有所帮助。