Страница 1 из 1

Перерисовка svg в sprite

СообщениеДобавлено: 16 авг 2017, 16:36
pesiik
Есть картинка svg:

Изображение

Есть код который ее перерисовывает с помощью nupackage svg:

Синтаксис:
Используется csharp
 public UnityEngine.UI.Image image;

    private SvgDocument svgDocument;

    void Awake()
    {

        svgDocument = SvgDocument.Open("D:/svg/Artboard 4.svg");
        Bitmap bitmap = svgDocument.Draw();

        Texture2D texture = new Texture2D(bitmap.Width, bitmap.Height);

       
        for (int y = 0; y < texture.height; y++)
        {
            for (int x = 0; x < texture.width; x++)
            {
                var kek = bitmap.GetPixel(x, y);
                UnityEngine.Color color = new UnityEngine.Color(kek.R, kek.G, kek.B);
                texture.SetPixel(x, y, color);
            }
        }

        Sprite sprite = Sprite.Create(texture, new Rect(0,0, texture.width,texture.height), Vector2.zero);        

        image.sprite = sprite; //TODO

        image.SetNativeSize();
    }


Результат светло-серая картинка:

Изображение

Почему так? Дебажил код, цвета передаются разные (rgb float меняются)

Re: Перерисовка svg в sprite

СообщениеДобавлено: 16 авг 2017, 19:22
bojlahg
texture.Apply();

Re: Перерисовка svg в sprite

СообщениеДобавлено: 18 авг 2017, 13:35
pesiik
bojlahg писал(а):texture.Apply();


теперь картинка побелела.

Изображение

Re: Перерисовка svg в sprite

СообщениеДобавлено: 04 сен 2017, 11:19
pesiik
вверх

Re: Перерисовка svg в sprite

СообщениеДобавлено: 05 сен 2017, 08:42
bojlahg
kek.R, kek.G и kek.B скорее всего в диапазоне 0-255.
UnityEngine.Color color = new UnityEngine.Color(kek.R /255.0f, kek.G /255.0f, kek.B /255.0f);

Re: Перерисовка svg в sprite

СообщениеДобавлено: 07 сен 2017, 10:09
pesiik
bojlahg писал(а):kek.R, kek.G и kek.B скорее всего в диапазоне 0-255.
UnityEngine.Color color = new UnityEngine.Color(kek.R /255.0f, kek.G /255.0f, kek.B /255.0f);


дяденька, вы гений! спасибо