Пример #1
0
    // Token: 0x06000AAE RID: 2734 RVA: 0x0002E1B0 File Offset: 0x0002C5B0
    public static Texture2D SetFoggy(Texture2D tex)
    {
        Texture2D texture2D = TextureUtility.Copy(tex);

        for (int i = 1; i < tex.width - 1; i++)
        {
            for (int j = 1; j < tex.height - 1; j++)
            {
                int num  = UnityEngine.Random.Range(0, 123456);
                int num2 = i + num % 19;
                int num3 = j + num % 19;
                if (num2 >= tex.width)
                {
                    num2 = tex.width - 1;
                }
                if (num3 >= tex.height)
                {
                    num3 = tex.height - 1;
                }
                Color pixel = tex.GetPixel(num2, num3);
                texture2D.SetPixel(i, j, pixel);
            }
        }
        texture2D.Apply();
        return(texture2D);
    }
Пример #2
0
    // Token: 0x06000AAF RID: 2735 RVA: 0x0002E260 File Offset: 0x0002C660
    public static Texture2D SetSoft(Texture2D tex)
    {
        Texture2D texture2D = TextureUtility.Copy(tex);

        int[] array = new int[]
        {
            1,
            2,
            1,
            2,
            4,
            2,
            1,
            2,
            1
        };
        for (int i = 1; i < tex.width - 1; i++)
        {
            for (int j = 1; j < tex.height - 1; j++)
            {
                float num  = 0f;
                float num2 = 0f;
                float num3 = 0f;
                int   num4 = 0;
                for (int k = -1; k <= 1; k++)
                {
                    for (int l = -1; l <= 1; l++)
                    {
                        Color pixel = tex.GetPixel(i + l, j + k);
                        num  += pixel.r * (float)array[num4];
                        num2 += pixel.g * (float)array[num4];
                        num3 += pixel.b * (float)array[num4];
                        num4++;
                    }
                }
                num  /= 16f;
                num2 /= 16f;
                num3 /= 16f;
                num   = ((num <= 1f) ? num : 1f);
                num   = ((num >= 0f) ? num : 0f);
                num2  = ((num2 <= 1f) ? num2 : 1f);
                num2  = ((num2 >= 0f) ? num2 : 0f);
                num3  = ((num3 <= 1f) ? num3 : 1f);
                num3  = ((num3 >= 0f) ? num3 : 0f);
                texture2D.SetPixel(i - 1, j - 1, new Color(num, num2, num3));
            }
        }
        texture2D.Apply();
        return(texture2D);
    }
Пример #3
0
    // Token: 0x06000AAD RID: 2733 RVA: 0x0002E12C File Offset: 0x0002C52C
    public static Texture2D SetNegative(Texture2D tex)
    {
        Texture2D texture2D = TextureUtility.Copy(tex);

        Color[] pixels = tex.GetPixels();
        for (int i = 0; i < pixels.Length; i++)
        {
            Color color = pixels[i];
            pixels[i] = new Color(1f - color.r, 1f - color.g, 1f - color.b);
        }
        texture2D.SetPixels(pixels);
        texture2D.Apply();
        return(texture2D);
    }
Пример #4
0
    // Token: 0x06000AAB RID: 2731 RVA: 0x0002DF64 File Offset: 0x0002C364
    public static Texture2D SetGrayscale(Texture2D tex)
    {
        Texture2D texture2D = TextureUtility.Copy(tex);

        Color[] pixels = tex.GetPixels();
        for (int i = 0; i < pixels.Length; i++)
        {
            float num = (pixels[i].r + pixels[i].g + pixels[i].b) / 3f;
            pixels[i] = new Color(num, num, num);
        }
        texture2D.SetPixels(pixels);
        texture2D.Apply();
        return(texture2D);
    }
Пример #5
0
    // Token: 0x06000AAA RID: 2730 RVA: 0x0002DE98 File Offset: 0x0002C298
    public static Texture2D SetSepia(Texture2D tex)
    {
        Texture2D texture2D = TextureUtility.Copy(tex);

        Color[] pixels = tex.GetPixels();
        for (int i = 0; i < pixels.Length; i++)
        {
            float a     = pixels[i].a;
            float num   = pixels[i].r * 0.299f + pixels[i].g * 0.587f + pixels[i].b * 0.114f;
            Color color = new Color(num, num, num);
            pixels[i] = new Color(color.r * 1f, color.g * 0.95f, color.b * 0.82f, a);
        }
        texture2D.SetPixels(pixels);
        texture2D.Apply();
        return(texture2D);
    }
Пример #6
0
    // Token: 0x06000AB1 RID: 2737 RVA: 0x0002E5CC File Offset: 0x0002C9CC
    public static Texture2D SetRelief(Texture2D tex)
    {
        Texture2D texture2D = TextureUtility.Copy(tex);

        for (int i = 0; i < tex.width - 1; i++)
        {
            for (int j = 0; j < tex.height - 1; j++)
            {
                Color pixel  = tex.GetPixel(i, j);
                Color pixel2 = tex.GetPixel(i + 1, j + 1);
                float num    = Mathf.Abs(pixel.r - pixel2.r + 0.5f);
                float num2   = Mathf.Abs(pixel.g - pixel2.g + 0.5f);
                float num3   = Mathf.Abs(pixel.b - pixel2.b + 0.5f);
                if (num > 1f)
                {
                    num = 1f;
                }
                if (num < 0f)
                {
                    num = 0f;
                }
                if (num2 > 1f)
                {
                    num2 = 1f;
                }
                if (num2 < 0f)
                {
                    num2 = 0f;
                }
                if (num3 > 1f)
                {
                    num3 = 1f;
                }
                if (num3 < 0f)
                {
                    num3 = 0f;
                }
                texture2D.SetPixel(i, j, new Color(num, num2, num3));
            }
        }
        texture2D.Apply();
        return(texture2D);
    }
Пример #7
0
    // Token: 0x06000AAC RID: 2732 RVA: 0x0002DFE4 File Offset: 0x0002C3E4
    public static Texture2D SetPixelate(Texture2D tex, int size)
    {
        Texture2D texture2D = TextureUtility.Copy(tex);
        Rect      rect      = new Rect(0f, 0f, (float)tex.width, (float)tex.height);
        int       num       = (int)rect.x;

        while ((float)num < rect.x + rect.width && num < tex.width)
        {
            int num2 = (int)rect.y;
            while ((float)num2 < rect.y + rect.height && num2 < tex.height)
            {
                int num3 = size / 2;
                int num4 = size / 2;
                while (num + num3 >= tex.width)
                {
                    num3--;
                }
                while (num2 + num4 >= tex.height)
                {
                    num4--;
                }
                Color pixel = tex.GetPixel(num + num3, num2 + num4);
                int   num5  = num;
                while (num5 < num + size && num5 < tex.width)
                {
                    int num6 = num2;
                    while (num6 < num2 + size && num6 < tex.height)
                    {
                        texture2D.SetPixel(num5, num6, pixel);
                        num6++;
                    }
                    num5++;
                }
                num2 += size;
            }
            num += size;
        }
        texture2D.Apply();
        return(texture2D);
    }