Ejemplo n.º 1
0
            private bool SetImage(Image img, int index, bool useCompression)
            {
                if (index > (int)AssetType.Max)
                {
                    return(false);
                }
                if (img == null)
                {
                    EntryTable.Entries[index].ImageData     = null;
                    EntryTable.Entries[index].VideoData     = new byte[0];
                    EntryTable.Entries[index].TextureHeader = new byte[EntryTable.Entries[index].TextureHeader.Length];
                    return(true);
                }
                EntryTable.Entries[index].ImageData = img;
                var data = ImageToRawArgb(img);

                byte[] video = new byte[0], header = new byte[0];
                if (!AuroraAssetDll.ProcessImageToAsset(ref data, img.Width, img.Height, useCompression, ref header, ref video))
                {
                    return(false);
                }
                EntryTable.Entries[index].VideoData     = video;
                EntryTable.Entries[index].TextureHeader = header;
                return(true);
            }
Ejemplo n.º 2
0
            private void SetImage(byte[] videoData, int index)
            {
                var imageData = new byte[0];
                int imageWidth, imageHeight;

                if (!AuroraAssetDll.ProcessAssetToImage(ref EntryTable.Entries[index].TextureHeader, ref videoData, ref imageData, out imageWidth, out imageHeight))
                {
                    return;
                }
                EntryTable.Entries[index].VideoData = videoData;
                EntryTable.Entries[index].ImageData = RawArgbToImage(imageData, imageWidth, imageHeight);
            }
Ejemplo n.º 3
0
 private static Image GetImage(byte[] data)
 {
     if (data[0] == 'D' || data[1] == 'D' || data[1] == 'S')
     {
         var imageData = new byte[0];
         int imageWidth, imageHeight;
         AuroraAssetDll.ProcessDDSToImage(ref data, ref imageData, out imageWidth, out imageHeight);
         return(RawArgbToImage(imageData, imageWidth, imageHeight));
     }
     using (var ms = new MemoryStream(data)) {
         var img  = Image.FromStream(ms);
         var img2 = new Bitmap(img.Width, img.Height, PixelFormat.Format32bppArgb);
         var g    = Graphics.FromImage(img);
         g.DrawImage(img2, new Point(0, 0));
         g.Dispose();
         img.Dispose();
         return(img2);
     }
 }