mirror of
https://github.com/crskycode/GARbro.git
synced 2026-07-08 01:30:18 +08:00
added some IImageDecoder implementations.
This commit is contained in:
@@ -74,11 +74,7 @@ namespace GameRes.Formats.CatSystem
|
||||
public override ImageData Read (IBinaryStream stream, ImageMetaData info)
|
||||
{
|
||||
using (var reader = new Hg2Reader (stream, (Hg2MetaData)info))
|
||||
{
|
||||
var pixels = reader.Unpack();
|
||||
var format = 24 == info.BPP ? PixelFormats.Bgr24 : PixelFormats.Bgra32;
|
||||
return ImageData.CreateFlipped (info, format, null, pixels, reader.Stride);
|
||||
}
|
||||
return reader.Image;
|
||||
}
|
||||
|
||||
public override void Write (Stream file, ImageData image)
|
||||
@@ -91,6 +87,20 @@ namespace GameRes.Formats.CatSystem
|
||||
{
|
||||
Hg2MetaData m_hg2;
|
||||
|
||||
public override ImageData Image
|
||||
{
|
||||
get
|
||||
{
|
||||
if (null == m_image)
|
||||
{
|
||||
var pixels = Unpack();
|
||||
var format = 24 == m_hg2.BPP ? PixelFormats.Bgr24 : PixelFormats.Bgra32;
|
||||
m_image = ImageData.CreateFlipped (m_hg2, format, null, pixels, Stride);
|
||||
}
|
||||
return m_image;
|
||||
}
|
||||
}
|
||||
|
||||
public Hg2Reader (IBinaryStream input, Hg2MetaData info) : base (input, info)
|
||||
{
|
||||
m_hg2 = info;
|
||||
|
||||
Reference in New Issue
Block a user