【发布时间】:2018-12-21 06:59:50
【问题描述】:
我开发了一个保存纹理(屏幕截图)的应用程序,我需要压缩它们,但是我不能使用EncodeToPNG 方法来在屏幕上显示图像。
我的步骤:
Texture2D tex = new Texture2D(recwidth, recheight, TextureFormat.RGB24, false);//RGB24- 因为下一步:tex.ReadPixels(rex, rdPXX, rdPXY); tex.Apply();-
tex.Compress(false);
稍后我需要在屏幕上显示它-
var bytes = tex.EncodeToPNG();
但我不能,因为众所周知EncodeToPNG 不支持压缩纹理,那我该怎么办?在我的手机上占用大量空间
【问题讨论】:
-
由于您正在开发应用程序,请记住 .Compress 仅在硬件支持 .DXT 时才有效,而大多数移动设备并非如此。
-
Sani- 我在 answers.unity 上看到了那个帖子,但这样做之后它仍然给我带来了问题。 Nathalie,谢谢,这是真的,但我在压缩到移动设备支持的 ASTC 时遇到了同样的问题