unity怎么读取动态加载的图片的像素颜色(急!!!另有一个同样问题80c,有用的一起给)

怎么打开动态加载图片的读写权限
read/write Enable 无法在项目运行时更改

0

5个回答

/// <summary>
/// 以IO方式进行加载
/// </summary>
private void LoadByIO()
{
    string ImagePath = string.Format("{0}/{1}", Application.streamingAssetsPath, "Test.jpg");
    Debug.LogFormat("ImagePath:{0}", ImagePath);
    //创建文件读取流
    FileStream fileStream = new FileStream(ImagePath, FileMode.Open, FileAccess.Read);
    fileStream.Seek(0, SeekOrigin.Begin);
    //创建文件长度缓冲区
    byte[] bytes = new byte[fileStream.Length];
    //读取文件
    fileStream.Read(bytes, 0, (int)fileStream.Length);
    //释放文件读取流
    fileStream.Close();
    fileStream.Dispose();
    fileStream = null;

    //创建Texture
    int width = 300;
    int height = 372;
    Texture2D texture = new Texture2D(width, height);
    texture.LoadImage(bytes);

    Color[] colors = texture.GetPixels();
    Debug.LogFormat("pixels:{0}", colors.Length);

}
    看看能不能帮到你
1
wjintao
wjintao 回复qq_40694726: 那你看看这个行不行
10 个月之前 回复
wjintao
wjintao 回复qq_40694726: /// <summary> /// 以AssetBundle方式进行加载 /// </summary> private void LoadByAB() { WWW w = new WWW("file://" + Application.streamingAssetsPath + "/Test.assetbundle"); mTex = w.assetBundle.LoadAsset<Texture2D>("Test.jpg"); Color[] colors = mTex.GetPixels(); Debug.LogFormat("pixels:{0}", colors.Length); }
10 个月之前 回复
qq_40694726
qq_40694726 用AssetBundle加载的资源有办法读吗?因为这是别人的项目打包过来的。。
10 个月之前 回复

加载为Texture格式就能读啊,动态加载的图片也是可以获取texture的

0

using Unity;
using System.Collections;

public class SendLine : MonoBehaviour {

public Vector3 targetPoint;
private Transform MyTransform;
public Texture2D TextureMap;
   void Start () 
{
    MyTransform = GetComponent<Transform>();
   }

    void Update () 
  {
      sendLineMeth();
    }

   void sendLineMeth()
   {
    RaycastHit hit;
    if( Physics.Raycast(MyTransform.position, -MyTransform.up,out hit,10f))
    {
       targetPoint= hit.point;
       Debug.DrawLine(MyTransform.position, targetPoint);
       Vector2 pixelUV = hit.textureCoord;
       pixelUV.x *= TextureMap.width;
       pixelUV.y *= TextureMap.height;
       TextureMap.SetPixel((int)pixelUV.x, (int)pixelUV.y,Color.red);
       Debug.Log(pixelUV);
       TextureMap.Apply();
    }
}

}

0
qq_40694726
qq_40694726 不好意思,运行了也没反映,没太看懂。。还有我希望的是能获取图片的GetPixels()
11 个月之前 回复

在任何一个脚本里写这个
public Color color1;
public Texture2D a;
void Update() {
color1 = a.GetPixel(10, 20);

    }

在Update每一帧都获取一次x10 y20位置的颜色
想获得多个点可以用 a.GetPixels();

0
qq_40694726
qq_40694726 不是这个问题哦,主要是我动态加载进来的图没有读写权限,用不了GetPixels方法
10 个月之前 回复

找了很久最后在Unity社区上找到了原因,因为用的是AssetBundle加载资源,资源包是别人做的
所以原因就是打包资源包的同事没有勾上可读性,所以会报错!!

附上社区地址 https://answers.unity.com/questions/988174/create-modify-texture2d-to-readwrite-enabled-at-ru.html

最后 wjintao 给的方法都是可行的,因为外部加载的图片默认可读。(AssetBundle默认不行是因为unity有自动标记)

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
unity里面获取图片像素颜色的坐标问题
为了知道unity里,texture.GetPixels()里每个像素的颜色到底是怎么样分布的,我们进行了一个测试。上图是一个4*4的贴图,ps和unity里显示都是这样。 public class testCol:MonoBehaviour { public Texture2D texture; public void OnClick() { ...
unity怎么读取动态加载的图片的像素颜色
(或者说怎么打开动态加载图片的读写权限)nunity的Read/Write Enable无法在运行项目时设置
unity 改变纹理像素点的颜色
using UnityEngine; using System.Collections; public class SendLine : MonoBehaviour { public Vector3 targetPoint; private Transform MyTransform; public Texture2D TextureMap; void Start (
Unity3d之更改模型贴图像素点颜色报错
Unity5.4.2f2 Vs2017 功能:通过射线检测像素点坐标,更改颜色。 报错:Unsupported texture format - needs to be ARGB32, RGBA32, RGB24, Alpha8 or one of float formats 处理: 1.更改Texture Type为Advanced 2.勾选上Read/Write Enabled...
Unity3d 如何动态加载非Assets路径下的图片
我们知道,Unity3d会将Assets folder下的图片进行编译预处理,在程序打包完成后,我们是无法动态的修改图片内容,所以,如果能动态的从非Assets 目录下加载图片就是一个非常好的方法。我们可以使用Unity3d WWW类提供的方法来完成这个工作,WWW类经常是用来下载网络服务器上的资源,其实它也可以加载本地的资源。 参考http://docs.unity3d.com/ScriptRef
Unity--动态加载网络图片和本地图片文件
加载图片都可以使用WWW来操作: 方法操作是一样的: JS 加载本地图片,并赋给物体作为贴图: [html] view plaincopyprint? function Start()   {       var www = new WWW ("file://D://a.png");        yield www;     
unity外部动态加载plane材质
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlaneTranform : MonoBehaviour { void Awake() { LoadByWWW(); //GetComponent&amp;...
Unity获取屏幕上某一点的颜色
IEnumerator CaptureScreenshot()    {        //只在每一帧渲染完成后才读取屏幕信息        yield return new WaitForEndOfFrame();        Texture2D m_texture = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24...
Unity3D 动态批量加载本地图片
public Sprite[] PicObj = new Sprite[10]; private string url; private WWW []www=new WWW[10]; private void Awake() { //url = Application.dataPath + "/StreamingAssets/";/
Unity获取指定区域像素,赋予动态网格文件
需要这么一个功能,给出特定的轨迹点和一张图片,让你截取图片中的某块区域作为地面的贴图,生成地面。需求很简单,分为三部分,一个就是获取图片像素,生成贴图,一个就是更具轨迹生成网格,还有一个就是给动态网格赋予生成的贴图。 下面我将贴出其中主要的实现方法,当然这只是我个人的方法,肯定有更好更快捷的逻辑可以实现。欢迎大家提出建议: using UnityEngine; using System.Col
Unity 读取某一张图片,用Cube代替这张图片的像素点打印出来,类似MC地图的效果
直接上代码(PS:很简单的实现方式,适合200*200像素以下的小图,图片像素太多会造成电脑主机卡死,切记) using UnityEngine; /* * Texture2D.GetPixels() 获取图片所有像素点的颜色 * Texture2D.height 获取图片的高度 * Texture2D.width 获取图片的宽度 */ public class PrintPi...
Unity为Image组件动态添加sprite
Image组件的Source Image属性是Sprite类型的,然而图片的type设置为Sprite之后,它包含两个部分(如图): 以1001为例,其第一部分类型为Texture2D,第二部分为Sprite的。 一种动态获取方式(Resources.Load): Sprite sprite = new Sprite; sprite = (Resources.Load("S
Unity 图片拼接1像素接缝处理
承接ARKit案例开发/宣传Demo开发/游戏开发  QQ:2118590660 ARKit入门到精通系列 (视频教程地址) http://edu.manew.com/user/98138​​​​​​​ 感觉比没改之前好多了 ...
PHP获取图片每个像素点
PHP获取图片每个像素点 $i = imagecreatefromjpeg("test.jpg"); //图片路径 for ($x = 0; $x < imagesx($i); $x++) { for ($y = 0; $y < imagesy($i); $y++) { $rgb = imagecolor
获取图片每(某)个像素点的RBGA值
最近项目有个需求,获取调色板上某个点的RBGA值,来设置背景颜色。查找了一些资料,经过多次测试,最终拿到的RGBA值基本一致(这里为什么说基本一致呢,如果RGBA值的取值范围在0~255之间的话,结果会有1-2个点的误差)。方法如下: 获取图片上某个点的RGBA值 //获取图片某个点的RGBA值
python画图--输出指定像素点的颜色值
# -*- coding: utf-8 -*- #------------------------------------------------------------------------------- # Name: module1 # Purpose: # # Author: leniy_tsan # # Created: 10-04-2012 # Copyr
java获取图片像素点的RGB值
转的其他人的。 自己试了可以。 忘记具体哪个地方了。 package com.hundsun.rm.system; import java.awt.AWTException; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import
解决NGUI图片拼接中间出现1像素接缝的问题
如下图所示美术给我两张255X255的图片让我来拼接。第二张图的X坐标明明是X偏移255的为什么中间有一像素呢? 此时如果你不加思索的就把X偏移改成254。仔细看看下面这个位置明显图片没有被拼接上?如果两张图片都是纯色的话可能这样可以被拼上,但是这是不解决核心问题的。。 如果你看NGUI的源码你会发现NGUI会自动把奇数宽高的图片补起成偶数的宽高
Unity 获取鼠标点击图片时 获取点击位置的像素
脚本要求: 需要获取颜色的图片以走下角为起点建立空物体 右上角建立空物体(两个空物体均设置为图片的子物体,设置好锚点,将坐标改为0即可)。建立好碰撞体(BoxCollider)。用2DBoxCollider的话从摄像机发射的射线无法检测到图片。 实现: using System.Collections; using System.Collections.Generic; using Unit
读取图片并显示每个像素处的RGB值
不记得在网上什么地方见到的demo了,感觉会有时候会用到
Android使用 argb, 矩阵,像素点对图片进行修改
刚开始研究图片修改,去网上查了点方法,然后写了个小 demo, 写下本篇博客,总结一下最基本修改图片的方式,希望对大家有帮助. 我将用下面2种方式来修改我们的图片,以及叙述下图片为何会有变化. ColorMatrix RGBA~利用自带的方法修改色调,饱和度,亮度来修改图片 矩阵~利用矩阵计算得到新的矩阵修改图片 像素点~根据原像素点数组,经过计算得到新的像素点数组,再重新绘制图片 上面
【Unity】动态读取本地图片的方法
检测文件变化【需求分析】  我认为应该是先读取到文件夹信息,然后频繁检测文件数量或者大小,如果数量发生变化,表明有新文件。  怎样拿到新文件呢,这就要看文件在文件夹中是如何存储的了,可能类似数组,那么应该去的最后一个索引或者第一个。  然后就是对文件进行读取了。【知识补充】    C#读取文件的方法:(1),通过FileInfo和DirectoryInfo类来读取文件和文件夹属性         ...
LCD显示问题-lcd中像素深度bpp和像素格式(比如RGB,YUV)的关系
lcd中像素深度bpp和像素格式(比如RGB,YUV)的关系像素深度(bits per pixel,简称bpp)一个像素的颜色在计算机中由多少个字节数据来描述。计算机中用二进制位来表示一个像素的数据,用来表示一个像素的数据位越多,则这个像素的颜色值更加丰富、分的更细,颜色深度就更深。一般来说像素深度有这么几种:1位、8位、16位、24位、32位。像素格式(pixel format)像素色彩按分量的...
OpenGL ES 学习教程(十五) 从 颜色缓冲区(FBO的颜色附着)中 读取颜色数据 保存到图片(FreeImage)
GL中提供读取像素数据的API glReadPixels,方便实现游戏中截屏功能。
u3d 动态加载图片
除了WWW加载的另外的两种方法。 需要system.drawing dll Texture2D CUTPicture2( string path)     {             FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);            Image image = Image.
Unity像素风模糊到糊掉的解决方法
将图片资源的Filter Mode设置为Point(no filter)
Unity动态加载本地图片
Unity运行时动态加载本地图片 Unity运行时加载本地文件夹下所有图片的方法 //引入命名空间 using System; using System.IO; /// &amp;lt;summary&amp;gt; /// 加载图片的Byte[]数组 /// &amp;lt;/summary&amp;gt; /// &amp;lt;param name=&quot;filesName&quot;&amp;gt;地址&amp;lt;/pa...
Cocos2dx图片像素颜色值获取,可用于判断是否是图片的透明区域
原文地址:http://blog.csdn.net/qipa_game/article/details/38116805 Color4B Sprite::getPixelColor(const Vec2& pos) { int8_t data[4]; Vec2 oldPos = this->getPosition(); Vec2 oldAnchor = this->getAnchorPo
【Untiy&对象】如何实现一个Prefab立方体的6个面不同图案
总结一下,实现的几个方法。 1.必须要在辅助的3D软件进行UV展开,比如说3Dmax maya。 只要在模型上显示图案都和UV有关联。(参考资料3) 2.使用代码对每个立方体,的6个面的材质进行替换。 3.用6个小方块替换1个大方块。 4.使用shader的双材质 5.六个面分别来一个plan之后赋予材质 ---------------------------
获取图片像素点颜色值
获取图片任意像素的颜色值
C#中加载图片与读取图片上的像素点方法
这个是我在别人网上摘的!如果发现我摘的是你的,就给我发邮件,我把它给删了!cxchen84xi@yahoo.com.cn (1)在.NET中创建一个窗体,加入pictureBox控件。设置其Image为空,SizeMode属性设为AutoSize;(2)加入一个button控件,用于打开图片文件;(3)加入三个textBox控件,用于表示RGB三个颜色的值。(4)定义一个私有变量pick为布尔值,
5.OpenCV像素点操作--反转色照片处理
OpenCV读取到的图片内容是一个数组 这就意味着我们可以通过这个数组来操作图片的每个像素点来达到修改图片的目的 我们可以把图片的每个像素点的颜色进行反色处理 然后我们就得到了一幅类似底片的反色照片 根据这个思路结合先前获取图片信息的章节内容(查看图片的信息) 只需要遍历图片每一个像素点的每个通道再处理就OK了 上代码 import cv2 as cv def access_p...
opengl像素操作及读写
今天我们先简单介绍Windows中常用的BMP文件格式,然后讲OpenGL的像素操作。虽然看起来内容可能有点多,但实际只有少量几个知识点,如果读者对诸如“显示BMP图象”等内容比较感兴趣的话,可能不知不觉就看完了。 像素操作可以很复杂,这里仅涉及了简单的部分,让大家对OpenGL像素操作有初步的印象。 学过多媒体技术的朋友可能知道,计算机保存图象的方法通常有两种:一是“矢量图”,一是“像素
Processing 入门教程(二十九) get() 得到图像像素点颜色
void setup() { size(500, 400); for(int x = 0; x &amp;lt; width; x++) { for(int y = 0; y &amp;lt; 120; y++) { float r = map(noise(x / 80.0, y / 80.0, 10.0), 0, 1, 0, 255); float g = map...
图片的灰度处理(Unity Shader)
图片变灰处理 分享一个图片变灰处理的着色器 先看一下效果图吧: Shader &amp;quot;Unlit/Grey&amp;quot; { Properties { _MainTex (&amp;quot;Texture&amp;quot;, 2D) = &amp;quot;white&amp;quot; {} } SubShader { Tags{&amp;quot;RenderType&amp;quot;=&amp;quot;Opaque&amp;quot;} LOD 100
在Unity3D中加载外部图片的两种方法
喜欢我的博客请记住我的名字:秦元培,我的博客地址是:http://qinyuanpei.com 转载请注明出处,本文作者:秦元培, 本文出处:http://blog.csdn.net/qinyuanpei/article/details/48262583   各位朋友大家好,我是秦元培,欢迎大家关注我的博客。最近在做项目的过程中遇到这样的一个需求:玩家可以在游戏过程中进行实时存档,在存档过程中
读取BMP图像每一像素点RGB数据
对于24位bmp图片,每一个像素点存放着此点的RGB值。首先定义一个结构体,包含红(red)、绿(green)、蓝(blue)这三个字段,如下: [html] view plaincopy //像素颜色值   typedef struct tagPOINT{       BYTE b;       BYTE g;       BYTE r
python使用PIL模块获取图片像素点
from PIL import Image########获取图片指定像素点的像素def getPngPix(pngPath = &quot;aa.png&quot;,pixelX = 1,pixelY = 1):    img_src = Image.open(pngPath)    img_src = img_src.convert('RGBA')    str_strlist = img_src.load() ...
【Unity Shader】1.Unity的基本Shader框架学习(颜色,光照,材质)
首先说明,博主是一位Shader的初学者,在大学里也是菜鸟一枚,只是对游戏有着热情才开始学习Shader,若有写的不好地方,望各位见谅。。。哈哈哈,废话不多说,开始正题。O(∩_∩)O 效果展示一、基本概念了解 1.学过计算机图形学的同学都知道,计算机图形学中的渲染管线一共有两种:1)固定功能渲染管线 2)可编程渲染管线ps:渲染管线就是计算机绘制图形的过程: 局部坐标系->世界坐标系
Unity中动态读取图集 读取图集单个sprite的方法
假如我有一个图集,已经通过unity切割好了,它里面有这么的子图片。 读取这个图集的方法很简单,使用object[] objs = Resources.LoadAll(&quot;Sprites/mapple&quot;); 这个方法会返回object[]类型的数据。 如果我这个图集里面有200个小图,那么返回的Object[]的length就是201个。 是这样的 objs[0]里面存储的是我这个图集...
文章热词 颜色模型 机器学习教程 Objective-C培训 交互设计视频教程 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据培训有用 大数据培训有用么