AcManager.Controls.CustomShowroom.CarTextureDialog.CarTextureDialogViewModel.LoadImageUsingDirectX C# (CSharp) Méthode

LoadImageUsingDirectX() private méthode

private LoadImageUsingDirectX ( BaseRenderer renderer, byte imageData ) : LoadedImage
renderer AcTools.Render.Base.BaseRenderer
imageData byte
Résultat LoadedImage
            private static LoadedImage LoadImageUsingDirectX(BaseRenderer renderer, byte[] imageData) {
                if (imageData == null || imageData.Length == 0) return null;
                
                try {
                    Format format;
                    var pngData = TextureReader.ToPng(renderer.DeviceContextHolder, imageData, true, out format);

                    var image = new BitmapImage();
                    using (var stream = new MemoryStream(pngData) {
                        Position = 0
                    }) {
                        image.BeginInit();
                        image.CreateOptions = BitmapCreateOptions.PreservePixelFormat;
                        image.CacheOption = BitmapCacheOption.OnLoad;
                        image.UriSource = null;
                        image.StreamSource = stream;
                        image.EndInit();
                    }
                    image.Freeze();

                    return new LoadedImage {
                        Image = image,
                        FormatDescription = format.ToString()
                    };
                } catch (Exception e) {
                    Logging.Warning(e);
                    return null;
                }
            }