public static Bitmap CreateBMP(int width, int height, byte[] srcdata, int index, int MaskColor) { Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format16bppRgb555); Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height); BitmapData bitmapdata = bitmap.LockBits(rect, ImageLockMode.ReadWrite, bitmap.PixelFormat); int num = bitmapdata.Stride / 1; byte[] source = new byte[num * height]; if (srcdata.Length - index == source.Length) { Array.Copy((Array)srcdata, index, (Array)source, 0, source.Length); } else { for (int index1 = 0; index1 < height; ++index1) { Array.Copy((Array)srcdata, index + index1 * width * 2, (Array)source, index1 * num, width * 2); } } IntPtr scan0 = bitmapdata.Scan0; Marshal.Copy(source, 0, scan0, srcdata.Length - index); bitmap.UnlockBits(bitmapdata); if (MaskColor >= 0) { bitmap.MakeTransparent(ImageConvert.Rgb555ToARGB(MaskColor)); } return(bitmap); }
public static Bitmap Load_TIL(byte[] tbtdata) { BinaryReader binaryReader = new BinaryReader((Stream) new MemoryStream(tbtdata)); int num1 = (int)binaryReader.ReadInt16(); int num2 = (int)binaryReader.ReadInt16(); int[] numArray = new int[num1 + 1]; int num3 = 4 + numArray.Length * 4; for (int index = 0; index <= num1; ++index) { numArray[index] = num3 + binaryReader.ReadInt32(); } for (int index = 0; index < num1; ++index) { binaryReader.BaseStream.Seek((long)numArray[index], SeekOrigin.Begin); int num4 = (int)binaryReader.ReadByte(); ImageConvert.L1Image l1Image = ImageConvert.LoadImage(binaryReader.ReadBytes(numArray[index + 1] - (int)binaryReader.BaseStream.Position), 24, 24); if (l1Image.image != null) { l1Image.image.Save(string.Format("E:\\Temp\\{0:x4}.bmp", (object)index), ImageFormat.Bmp); } } binaryReader.Close(); return((Bitmap)null); }
public static Bitmap CreateBitmap(L1Spr.Frame FrameData, byte[] bmpdata) { if (bmpdata == null) { return((Bitmap)null); } return(ImageConvert.CreateBMP(FrameData.width, FrameData.height, bmpdata, 0, (int)FrameData.maskcolor)); }
public static Bitmap Load_IMG(byte[] imgdata) { int int16_1 = (int)BitConverter.ToInt16(imgdata, 0); int int16_2 = (int)BitConverter.ToInt16(imgdata, 2); int MaskColor = (int)BitConverter.ToInt16(imgdata, 4) == 1 ? (int)BitConverter.ToUInt16(imgdata, 6) : -1; return(ImageConvert.CreateBMP(int16_1, int16_2, imgdata, 8, MaskColor)); }
public static ImageConvert.L1Image LoadImage(byte[] data, int width, int height) { Bitmap bitmap = new Bitmap(width, height); Graphics graphics = Graphics.FromImage((Image)bitmap); ImageConvert.L1Image l1Image = ImageConvert.LoadImage(data); if (l1Image.image != null) { graphics.DrawImageUnscaled((Image)l1Image.image, l1Image.x_offset, l1Image.y_offset); } l1Image.image = bitmap; return(l1Image); }
public static Bitmap Load_TBT(byte[] tbtdata) { return(ImageConvert.LoadImage(tbtdata).image); }