Zugriff auf Pixel daten in Texture Data
Contents
[
Hide
]
Dies wird von Version 23.4 oder höher unterstützt.
Schreiben Sie Pixel daten
Verwenden Sie die folgende Klasse, um Textur-Encoder und Textur-Decoder zu definieren:
var tex = new TextureData(128, 128, PixelFormat.A8R8G8B8);
using (var mapping = tex.MapPixels(PixelMapMode.WriteOnly))
{
var pixels = mapping.Data;
var p = 0;
for(var y = 0; y < 128; y++)
{
for (var x = 0; x < 128; x++)
{
pixels[p + 0] = 255;//alpha
pixels[p + 1] = 255;//red
pixels[p + 2] = 0;//green
pixels[p + 3] = 0;//blue
p += 4;//next pixel
}
}
}
tex.Save("red.png");//save to png file(Need codec registered)
Pixel format transformieren
Mit Transform Pixel Format können Sie das Pixel format der Textur leicht ändern:
var tex = TextureData.FromFile("test.png");
tex.TransformPixelFormat(PixelFormat.G8);//now the texture data only contains green channel in pixel.