前提・実現したいこと
Unity でスマホアプリを作っています。
スマホのローカルに保存されているJpeg画像を読み込み、テクスチャとして表示したいです。
問題
読み込みたい画像は最大で8kまであるのですが、画像を読み込もうとした時にアプリが止まってしまい、画面が真っ黒になります。
該当のソースコード
C#
1 FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); 2 BinaryReader binReader = new BinaryReader(fileStream); 3 byte[] values = binReader.ReadBytes((int)binReader.BaseStream.Length); 4 binReader.Close(); 5 6 Debug.Log("SystemInfo.maxTextureSize : " + SystemInfo.maxTextureSize); // 16384 7 Debug.Log(""); 8 9 Texture2D tex = Texture2D.whiteTexture; 10 tex.LoadImage(values); // <- ここで止まる。しばらくすると画面が黒くなる 11
試したこと
Unity(というよりもOpenGL?) の場合、どうやらテクスチャのサイズに限界があるらしく、
サイズの小さな画像はうまく表示されるのですが、大きな画像(4k、8k)は表示されません。
聞きたいこと
良い解決策はないですか?
おそらくはローカルの画像を読み込んだ後、縮小してテクスチャにするしかないと思うのですが、
その場合、画像を縮小する Unity(C#) の APIなりライブラリをご存知ではないですか?
Unity でなくてもフリーで使えるようなライブラリ等をご存知であれば教えて下さい。
補足情報(FW/ツールのバージョンなど)
対象:Andoroid8.0
Unity:2018.3.14f1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/06 11:11