【问题标题】:Image scrolling app - bitmap too large to be uploaded into a texture图像滚动应用程序 - 位图太大而无法上传到纹理中
【发布时间】:2015-01-15 04:43:27
【问题描述】:

我正在开发一个非常简单的应用程序,它显示一个 jpg,它可以在垂直轴上滚动。 我希望这张图片非常大(20000x1000 像素),但是,当我尝试在我的设备上运行该应用程序时,它说“位图太大而无法上传到纹理中”。 有没有办法在 android 应用程序中显示这种大小的图像? 如果没有,是否可以将图像分成几段,然后滚动到底部 一个部分,我会继续另一个?

【问题讨论】:

    标签: android bitmap


    【解决方案1】:

    引用你的问题的答案here:

    所有的渲染都是基于 OpenGL,所以你不能超过这个限制。 请注意,这将占用大量内存。有了这么大 图像,如果你想放大,在移动环境中 严重的内存限制,你应该设置一个类似于什么的系统 例如,您在谷歌地图中看到。随着图像分成几个 件,以及几个定义。

    【讨论】:

    • 我听说过一个叫做“BitmapRegionDecoder”的东西,你觉得它可以工作吗?
    【解决方案2】:

    您可以将图像分割成 128x128 的块。将它们添加到一个数组中,然后循环该数组以创建一个 ImageView 并用当前提供的图像填充。

    一些伪代码是:(对不起,我这几天一直在编写 PHP 应用程序)

    Private BitMap[] imageArray = {your bitmaps from internal or external storage};
    For(BitMap bm in imageArray) {
        // create a new image view here, use the correct layout params or use a parrent grid view.
        imageView.setBitMap(bm)
    }
    

    现在再一次,我对那个伪代码有 0% 的把握,但它应该可以帮助你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-03
      • 2015-04-05
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      相关资源
      最近更新 更多