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

Программирование на Юнити.

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

Сообщение pesiik 16 авг 2017, 16:36

Есть картинка 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 меняются)
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

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

Сообщение bojlahg 16 авг 2017, 19:22

texture.Apply();
Мои проекты: MahJah Star Factory Cop Car Swash! Spline Editor
Аватара пользователя
bojlahg
UNIверсал
 
Сообщения: 392
Зарегистрирован: 13 авг 2011, 10:57
Откуда: Сатка
Skype: bojlahg
  • Сайт

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

Сообщение pesiik 18 авг 2017, 13:35

bojlahg писал(а):texture.Apply();


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

Изображение
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

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

Сообщение pesiik 04 сен 2017, 11:19

вверх
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

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

Сообщение bojlahg 05 сен 2017, 08:42

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);
Мои проекты: MahJah Star Factory Cop Car Swash! Spline Editor
Аватара пользователя
bojlahg
UNIверсал
 
Сообщения: 392
Зарегистрирован: 13 авг 2011, 10:57
Откуда: Сатка
Skype: bojlahg
  • Сайт

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

Сообщение pesiik 07 сен 2017, 10:09

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);


дяденька, вы гений! спасибо
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12