public override void Write(Stream file, ImageData image) { using (var bmp = new MemoryStream()) { Bmp.Write(bmp, image); file.WriteByte((byte)'M'); file.WriteByte((byte)'B'); bmp.Position = 2; bmp.CopyTo(file); } }
public override void Write(Stream file, ImageData image) { using (var bmp = new MemoryStream()) { Bmp.Write(bmp, image); var header = new byte[HeaderSize]; header[0] = (byte)'P'; header[1] = (byte)'I'; header[2] = (byte)'C'; file.Write(header, 0, HeaderSize); bmp.Position = HeaderSize; bmp.CopyTo(file); } }
public override void Write(Stream file, ImageData image) { using (var bmp = new MemoryStream()) { Bmp.Write(bmp, image); using (var output = new BinaryWriter(file, Encoding.ASCII, true)) { output.Write(Signature); output.Write((uint)bmp.Length); } bmp.Position = 0; using (var zstream = new ZLibStream(file, CompressionMode.Compress, CompressionLevel.Level9, true)) bmp.CopyTo(zstream); } }
public override void Write(Stream file, ImageData image) { using (var output = new XoredStream(file, 0x21, true)) using (var zstream = new ZLibStream(output, CompressionMode.Compress, CompressionLevel.Level9)) Bmp.Write(zstream, image); }
static ImageFormatService() { imageFormat = new IImageFormat[] { GetImageFormat("PNG", "png", true, Png.IsValid, Png.Read, (stream, image) => Png.Write(stream, image)), GetImageFormat("BMP", "bmp", true, Bmp.IsValid, Bmp.Read, (stream, image) => Bmp.Write(stream, image)), GetImageFormat("TIFF", "tiff", true, Tiff.IsValid, Tiff.Read, (stream, image) => Tiff.Write(stream, image)), GetImageFormat("FAC", "fac", true, Imgd.IsFac, s => Imgd.ReadAsFac(s), (stream, images) => Imgd.WriteAsFac(stream, images.Select(x => x.AsImgd()))), GetImageFormat("IMGD", "imd", true, Imgd.IsValid, Imgd.Read, (stream, image) => image.AsImgd().Write(stream)), GetImageFormat("IMGZ", "imz", true, Imgz.IsValid, s => Imgz.Read(s), (stream, images) => Imgz.Write(stream, images.Select(x => x.AsImgd()))), GetImageFormat("KH2 Font", "bar", true, IsKh2Font, ReadKh2Font, WriteKh2Font), GetImageFormat("Font ARC", "arc", false, FontsArc.IsValid, s => { var fonts = FontsArc.Read(s); return(new[] { fonts.FontCmd.Image1, fonts.FontCmd.Image2, fonts.FontHelp.Image1, fonts.FontHelp.Image2, fonts.FontMenu.Image1, fonts.FontMenu.Image2, fonts.FontMes.Image1, fonts.FontMes.Image2, fonts.FontNumeral.Image1, fonts.FontNumeral.Image2, fonts.FontIcon, }); }, (stream, images) => throw new NotImplementedException()), GetImageFormat("TIM2", "tm2", false, Tm2.IsValid, s => Tm2.Read(s), (stream, images) => throw new NotImplementedException()), GetImageFormat("KH2TIM", "tex", false, _ => true, s => ModelTexture.Read(s).Images.Cast <IImageRead>(), (stream, images) => throw new NotImplementedException()), };
static ImageFormatService() { imageFormat = new IImageFormat[] { GetImageFormat("PNG", "png", true, Png.IsValid, Png.Read, (stream, image) => Png.Write(stream, image)), GetImageFormat("BMP", "bmp", true, Bmp.IsValid, Bmp.Read, (stream, image) => Bmp.Write(stream, image)), GetImageFormat("TIFF", "tiff", true, Tiff.IsValid, Tiff.Read, (stream, image) => Tiff.Write(stream, image)), GetImageFormat("IMGD", "imd", true, Imgd.IsValid, Imgd.Read, (stream, image) => image.AsImgd().Write(stream)), GetImageFormat("IMGZ", "imz", true, Imgz.IsValid, s => Imgz.Read(s), (stream, images) => Imgz.Write(stream, images.Select(x => x.AsImgd()))), GetImageFormat("TIM2", "tm2", false, Tm2.IsValid, s => Tm2.Read(s), (stream, images) => throw new NotImplementedException()), GetImageFormat("KH2TIM", "tex", true, _ => true, s => ModelTexture.Read(s).Images.Cast <IImageRead>(), (stream, images) => throw new NotImplementedException()), };