zoukankan      html  css  js  c++  java
  • Unity3d:加载Format是RGB24位的图片失败(加载图片显示问号)

    问题描述:加载图片显示是个红色的问号,调试发现,Texture的Format=RGB24的都加载失败,ARGB32位的都能成功,按照常规,首先去度娘,看是否有人遇到和我同样的问题,结果一无所获。将用NGUI读取图片方式改掉后,解决此问题。
    解决方案:

    UITexture Page_Bg_Texture = Page_Bg.GetComponent<UITexture>();
                Texture2D t2 = new Texture2D(840, 560, TextureFormat.RGBA32, false);
                            //由于图片格式是RGB24用此方法加载失败,所以改用下面的加载方式
                            //t2.LoadImage(NGUITools.LoadTruePath(System.IO.Path.Combine(Page_Bg_Path, Page_Info == null ? "" : Page_Info.BG)));
                // 获取图片对象
                System.Drawing.Image imgGif = System.Drawing.Image.FromFile(System.IO.Path.Combine(Page_Bg_Path, Page_Info == null ? "" : Page_Info.BG));
                            t2.LoadImage(CZDACore.ImageToByteArray(imgGif,System.Drawing.Imaging.ImageFormat.Png));
                
                Page_Bg_Texture.mainTexture = (Texture)t2;
    //上面用到的CZDACore.ImageToByteArray()方法
    public static byte[] ImageToByteArray(System.Drawing.Image imageIn,System.Drawing.Imaging.ImageFormat imgformat)
            {
                    MemoryStream ms = new MemoryStream();
                    imageIn.Save(ms,imgformat);
            return ms.ToArray();
            }
  • 相关阅读:
    浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
    Spring中ClassPathXmlApplicationContext类的简单使用
    测试计划/系统风险 (设计方面、开发方面、测试本身 等风险)
    浏览器兼容
    4.0 爬虫
    2.1 IDEA
    2.3 接口测试
    1.1测试分类
    1.3 ODPS
    2.1 Word 插入 smartart、图表
  • 原文地址:https://www.cnblogs.com/yhdkzy/p/3778077.html
Copyright © 2011-2022 走看看