From 6fda2a005af5de9e7f47784452bdc77028c86946 Mon Sep 17 00:00:00 2001 From: morkt Date: Tue, 9 Oct 2018 14:36:18 +0400 Subject: [PATCH] added BitmapSourceDecoder class. --- ArcFormats/Palette/ArcCHR.cs | 25 +------------------------ ArcFormats/Tamamo/ArcPCK.cs | 22 ---------------------- GameRes/ImageDecoder.cs | 23 +++++++++++++++++++++++ 3 files changed, 24 insertions(+), 46 deletions(-) diff --git a/ArcFormats/Palette/ArcCHR.cs b/ArcFormats/Palette/ArcCHR.cs index cfa0bcd3..dd4a52ad 100644 --- a/ArcFormats/Palette/ArcCHR.cs +++ b/ArcFormats/Palette/ArcCHR.cs @@ -179,31 +179,8 @@ namespace GameRes.Formats.Palette var bmp = new RenderTargetBitmap (base_frame.PixelWidth, base_frame.PixelHeight, base_frame.DpiX, base_frame.DpiY, PixelFormats.Pbgra32); bmp.Render (visual); - var base_info = new ImageMetaData { - Width = (uint)bmp.PixelWidth, - Height = (uint)bmp.PixelHeight, - BPP = bmp.Format.BitsPerPixel, - }; - return new BitmapSourceDecoder (bmp, base_info); + return new BitmapSourceDecoder (bmp); } } } - - internal class BitmapSourceDecoder : IImageDecoder - { - public Stream Source { get { return null; } } - public ImageFormat SourceFormat { get { return null; } } - public ImageMetaData Info { get; private set; } - public ImageData Image { get; private set; } - - public BitmapSourceDecoder (BitmapSource bmp, ImageMetaData info) - { - Info = info; - Image = new ImageData (bmp, info); - } - - public void Dispose () - { - } - } } diff --git a/ArcFormats/Tamamo/ArcPCK.cs b/ArcFormats/Tamamo/ArcPCK.cs index d46f56ee..1930ece7 100644 --- a/ArcFormats/Tamamo/ArcPCK.cs +++ b/ArcFormats/Tamamo/ArcPCK.cs @@ -257,26 +257,4 @@ namespace GameRes.Formats.Tamamo return key; } } - - internal class BitmapSourceDecoder : IImageDecoder - { - public Stream Source { get { return null; } } - public ImageFormat SourceFormat { get { return null; } } - public ImageMetaData Info { get; private set; } - public ImageData Image { get; private set; } - - public BitmapSourceDecoder (BitmapSource bitmap) - { - Info = new ImageMetaData { - Width = (uint)bitmap.PixelWidth, - Height = (uint)bitmap.PixelHeight, - BPP = bitmap.Format.BitsPerPixel, - }; - Image = new ImageData (bitmap); - } - - public void Dispose () - { - } - } } diff --git a/GameRes/ImageDecoder.cs b/GameRes/ImageDecoder.cs index 60d5e23f..b415601e 100644 --- a/GameRes/ImageDecoder.cs +++ b/GameRes/ImageDecoder.cs @@ -25,6 +25,7 @@ using System; using System.IO; +using System.Windows.Media.Imaging; namespace GameRes { @@ -165,4 +166,26 @@ namespace GameRes } #endregion } + + public class BitmapSourceDecoder : IImageDecoder + { + public Stream Source { get; set; } + public ImageFormat SourceFormat { get; set; } + public ImageMetaData Info { get; private set; } + public ImageData Image { get; private set; } + + public BitmapSourceDecoder (BitmapSource bitmap) + { + Info = new ImageMetaData { + Width = (uint)bitmap.PixelWidth, + Height = (uint)bitmap.PixelHeight, + BPP = bitmap.Format.BitsPerPixel, + }; + Image = new ImageData (bitmap); + } + + public void Dispose () + { + } + } }