Есть код который ее перерисовывает с помощью 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();
}
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 меняются)