Пример #1
0
        private static void ExportImages(MapContainer mapContainer)
        {
            mapContainer.GetType(MapItemTypes.Image, out var imagesStart, out var imagesNum);
            Debug.Log("map", imagesNum > 0 ? "images:" : "images not found");

            for (var i = 0; i < imagesNum; i++)
            {
                var image     = mapContainer.GetItem <MapItemImage>(imagesStart + i, out _, out _);
                var imageName = mapContainer.GetData <string>(image.ImageName);

                Debug.Log("map", "   " + string.Join(';', new string[]
                {
                    $"name={imageName}",
                    $"width={image.Width}",
                    $"height={image.Height}",
                    $"external={image.External}"
                }));

                //var imageData = mapContainer.GetData<byte[]>(image.ImageData);
                //var format = Image.DetectFormat(imageData);

                //using (var image32 = Image.Load<Rgba32>(imageData))
                //{
                //    image32.Save($"{image.ImageName}.png");
                //}

                mapContainer.UnloadData(image.ImageName);
            }
        }
Пример #2
0
        private static void ExportImages(MapContainer mapContainer)
        {
            mapContainer.GetType(MapItemTypes.IMAGE, out var imagesStart, out var imagesNum);
            Debug.Log("map", imagesNum > 0 ? "images:" : "images not found");

            for (var i = 0; i < imagesNum; i++)
            {
                var image     = mapContainer.GetItem <MapItemImage>(imagesStart + i, out _, out _);
                var imageName = mapContainer.GetData <string>(image.ImageName);

                Debug.Log("map", "   " + string.Join(';', new string[]
                {
                    $"name={imageName}",
                    $"width={image.Width}",
                    $"height={image.Height}",
                    $"external={image.External}"
                }));

                //var imageData = mapContainer.GetData<byte>(image.ImageData);
                //File.WriteAllBytes($"{image.ImageName}.png", imageData);

                mapContainer.UnloadData(image.ImageName);
            }
        }