added BitmapSourceDecoder class.

This commit is contained in:
morkt 2018-10-09 14:36:18 +04:00
parent 1bdbaf714a
commit 6fda2a005a
3 changed files with 24 additions and 46 deletions

View File

@ -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 ()
{
}
}
}

View File

@ -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 ()
{
}
}
}

View File

@ -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 ()
{
}
}
}