Unity GUI.DrawTexture 的问题

[复制链接]
查看11 | 回复3 | 2021-1-27 06:09:31 | 显示全部楼层 |阅读模式
Unity使用GUI.DrawTexture加载Pc本地图片的时候测试发现当图片大于2M的时候会显示出纯色的样子而当图片小于2M则显示得出,不知道大神们有没有好的解决的方案
自己试过一种压缩图片后再显示然后还是失败了
现张贴一下代码
voidStart(){
StartCoroutine("LoadImage","D:\\345.jpg");
}
voidOnGUI()
{
if(texture!=null)
{
GUI.DrawTexture(newRect(100,100,1000,1000),texture);
}
}
privateIEnumeratorLoadImage(stringimagePath)
{
WWWwww=newWWW("file:///"+imagePath);
Debug.Log(imagePath);
if(www.error==null)
{
}
else
{
Debug.LogError("LoadImage>>>www.error:"+www.error);
}
yieldreturnwww;
texture=www.texture;
}
图片信息

unity中显示得效果


分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:09:31 | 显示全部楼层
texture初始化有问题吧?
回复

使用道具 举报

千问 | 2021-1-27 06:09:31 | 显示全部楼层
看代码,是没问题
那就不要加载2m以上的图片了...
回复

使用道具 举报

千问 | 2021-1-27 06:09:31 | 显示全部楼层
这是应为unitywww加载的texture默认的maxTextureSize是2048,你的图片尺寸超了,需要如下修改:
vartexture=newTexture2D(www.texture.width,www.texture.height);//创建一个指定大小纹理
texture.LoadImage(www.bytes);加载纹理数据就行
希望采纳
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行