簡體   English   中英

Unity3d將Texture2d轉換為位圖格式

[英]Unity3d convert Texture2d into bitmap format

我已經嘗試完成此操作,但是很不幸,我無法確定自己在做什么錯。

private void CreateMovie(List<Texture2D> textures, string fileName, int frameRate)
{
    var writer = new AviWriter(fileName + ".avi")
    {
        FramesPerSecond = frameRate,
        EmitIndex1 = true
    };

    var stream = writer.AddVideoStream();
    stream.Width = _images[0].width;
    stream.Height = _images[0].height;
    stream.Codec = KnownFourCCs.Codecs.Uncompressed;
    stream.BitsPerPixel = BitsPerPixel.Bpp32;

    int count = 0;

    while (count < textures.Count)
    {
        byte[] byteArray = textures[count].GetRawTextureData();
        stream.WriteFrame(false, byteArray, 0, byteArray.Length);
        count++;
    }

    writer.Close();
}

一旦我將字節寫入文件並嘗試打開它,我得到的文件是未知格式。

您可以張貼代碼以寫入紋理嗎?

要將紋理轉換為其他格式,您將需要使用所需的格式創建一個新的紋理,然后將數據寫入該紋理。

使用以下構造函數: public Texture2D(int width, int height, TextureFormat textureFormat = TextureFormat.RGBA32, bool mipChain = true, bool linear = false);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM