1. ホーム
  2. android

[解決済み] "ビットマップが大きすぎてテクスチャにアップロードできない"

2022-03-03 13:15:42

質問

ImageViewにビットマップを読み込んでいるのですが、このようなエラーが発生します。この制限は、OpenGLのハードウェアテクスチャのサイズ制限(2048x2048)に関連しているのだと思います。私がロードする必要があるイメージは、高さ約4,000ピクセルのピンチズーム・イメージです。

マニフェストでハードウェアアクセラレーションをオフにしてみましたが、うまくいきません。

    <application
        android:hardwareAccelerated="false"
        ....
        >

2048ピクセル以上の画像をImageViewに読み込むことは可能でしょうか?

解決方法を教えてください。

すべてのレンダリングはOpenGLをベースにしているので、この制限を超えることはできません ( GL_MAX_TEXTURE_SIZE デバイスに依存しますが、最小値は 2048x2048 ですので、2048x2048 より小さい画像であればフィットします)。

このような大きな画像で、拡大縮小をしたい場合、モバイルでは、例えばグーグルマップに見られるようなシステムを設定する必要があります。画像をいくつかに分割し、いくつかの定義を設けるのです。

あるいは、画像を縮小してから表示することもできます( user1352407の回答 この質問について)。

また、Androidは画像を自動的に拡大縮小することがあるので、画像を入れるフォルダに注意してください。以下のサイトをご覧ください。 Pilot_51さんの回答 この質問については、以下のとおりです。