コード例 #1
0
ファイル: Btx.cs プロジェクト: matheuscardoso96/Jacutem_AAI2
        private void ConvertAndInsert(TextureInfo info, BinaryWriter bw, Bitmap png)
        {
            var    palInfo = PaletteInfos.First(x => x.PaletteName.Contains(info.TextureName + "_pl"));
            BGR565 bGR565  = new BGR565(palInfo.PaletteBytes);

            byte[] img = new byte[0];
            bw.BaseStream.Position = info.Offset + BaseOffsetTextures + TextureInfosBaseOffset;

            switch (info.Format)
            {
            case 1:
                //img = ImageConverter.BitmapToRawIndexed(new Bitmap(png), bGR565, TileMode.NotTiled, ColorDepth.F4BBP);
                break;

            case 3:
                img = ImageConverter.BitmapToRawIndexed(new Bitmap(png), bGR565, TileMode.NotTiled, ColorDepth.F4BBP);
                break;

            case 4:
            case 6:
                img = ImageConverter.BitmapToRawIndexed(new Bitmap(png), bGR565, TileMode.NotTiled, ColorDepth.F8BBP);
                break;

            default:
                break;
            }

            bw.Write(img);
            ReloadTextures();
        }
コード例 #2
0
ファイル: Ncgr.cs プロジェクト: matheuscardoso96/Jacutem_AAI2
        public void ImportaNCGR(string dirImg)
        {
            ColorDepth depth         = Char.IntensidadeDeBits == 3 ? ColorDepth.F4BBP : ColorDepth.F8BBP;
            BGR565     palette       = new BGR565(ArquivoNclr.Pltt.Paleta);
            Bitmap     imageToInsert = new Bitmap(dirImg);

            if (imageToInsert.Width > Char.QuatidadeDeTilesX * 8)
            {
                Errors.Add("A largura da imagem importada é maior a que original");
            }

            if (imageToInsert.Height > Char.QuatidadeDeTilesY * 8)
            {
                Errors.Add("A altura da imagem importada é maior que a original");
            }

            if (Errors.Count == 0)
            {
                Char.Tiles = ImageConverter.BitmapToRawIndexed(imageToInsert, palette, TileMode.Tiled, depth);
                CarregarImagens();
                ArquivoNclr.Colors = palette.Colors;
            }
        }