Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使texture2D在运行时/脚本Unity3D中可读_C#_Unity3d_Texture2d_Unity5_Unity3d 2dtools - Fatal编程技术网

C# 使texture2D在运行时/脚本Unity3D中可读

C# 使texture2D在运行时/脚本Unity3D中可读,c#,unity3d,texture2d,unity5,unity3d-2dtools,C#,Unity3d,Texture2d,Unity5,Unity3d 2dtools,我有一个插件,允许我从Android手机图库中访问图片。这给了我一个Texture2D类型的纹理。然后,我想使用GetPixels函数对其进行编辑,但默认情况下它没有设置为可读。如何使纹理可读,以便在其上使用GetPixels 基本上,我允许用户从手机中选择一张图片,然后裁剪它。在下面的pic示例中,图片将被红色矩形裁剪。如果我事先让纹理可读,这是可行的 如果项目中有文件,可以在检查器中选择纹理,将纹理类型设置为“高级”,然后将“已启用读写”设置为true 如果没有,您可以尝试在现有纹理上使用G

我有一个插件,允许我从Android手机图库中访问图片。这给了我一个Texture2D类型的纹理。然后,我想使用GetPixels函数对其进行编辑,但默认情况下它没有设置为可读。如何使纹理可读,以便在其上使用GetPixels


基本上,我允许用户从手机中选择一张图片,然后裁剪它。在下面的pic示例中,图片将被红色矩形裁剪。如果我事先让纹理可读,这是可行的

如果项目中有文件,可以在检查器中选择纹理,将纹理类型设置为“高级”,然后将“已启用读写”设置为true

如果没有,您可以尝试在现有纹理上使用GetRawTextureData(),然后创建一个具有相同宽度和高度的新纹理,并使用从旧纹理获得的数据在新纹理上调用LoadImage(),确保MarkNoReadable为false。然后,您应该能够在新纹理上执行所需操作,并在用户裁剪图像时显示该纹理


如何确保markNonReadable为false?或者如何将其设置为false?markNonReadable是LoadImage()中的可选参数。更多信息:嗨,@Kimimaru,我正在处理与OP met相同的问题,尝试使用
GetRawTextureData()的解决方案
要构建一个新的
纹理2d
但是满足
纹理需要标记为读/写才能在播放器中获取RawTextureData
而且我似乎必须获得一个
读/写
能够纹理才能使用
GetRawTextureData()
方法,这又把我放在首位,有什么建议吗?还是我做错了?希望您的回复,提前谢谢。@armnotstrong是您在项目中获取数据的纹理吗?如果是这样,您可以执行我上面提到的步骤,并在inspector中将其标记为读/写。@Kimimaru不幸的是,该图像是由gallary的一个jar加载的,尚未访问jar的代码,因此inspector无法更改。您好,您成功地完成了吗?我遇到了确切的问题,我发现
纹理需要标记为读/写才能在player中获取RawTextureData
尝试接受的答案:-(