Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <param name="select"></param>
        public static void CreateDyeEnumType(DyeEnumType type, string image, bool select)
        {
            var bmp = new Bitmap(105, 80);

            var backgroundColor = select ? Color.Orange : Color.LightGray;

            for (int i = 0; i < bmp.Width; i++)
            {
                for (int j = 0; j < 25; j++)
                {
                    bmp.SetPixel(i, j, backgroundColor);
                }
            }

            var graphics = Graphics.FromImage(bmp);
            var img      = new Bitmap(image);
            var descRect = new RectangleF(0, 25, 105, 55);

            graphics.DrawImage(img, descRect);

            var font = new Font("Microsoft YaHei", 14, FontStyle.Bold);

            var brushColor = select ? Color.White : Color.Black;
            var sbrush     = new SolidBrush(brushColor);

            var    str = type.ToString();
            PointF point;

            if (str.Length == 1)
            {
                point = new PointF(41, 0);
            }
            else if (str.Length == 2)
            {
                point = new PointF(31, 0);
            }
            else
            {
                throw new NotImplementedException();
            }

            graphics.DrawString(str, font, sbrush, point);

            var fileName = @"C:\Users\mmzx\Desktop\bitmap2.bmp";

            bmp.Save(fileName, ImageFormat.Bmp);
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <param name="select"></param>
        public static void CreateStEnumType(DyeEnumType type, string imageName, string fileName, bool select)
        {
            var bmp = new Bitmap(120, 100);

            var backgroundColor = select ? Color.Orange : Color.LightGray;

            for (int i = 0; i < bmp.Width; i++)
            {
                for (int j = 0; j < 28; j++)
                {
                    bmp.SetPixel(i, j, backgroundColor);
                }
            }

            var graphics = Graphics.FromImage(bmp);

            Bitmap img      = null;
            var    assembly = Assembly.GetExecutingAssembly();

            //获取指定的资源
            using (Stream stream = assembly.GetManifestResourceStream($"AStack.BitMapCreator.Image.{imageName}.bmp"))
            {
                if (stream != null)  //没有找到,GetManifestResourceStream会返回null
                {
                    img = new Bitmap(stream);
                }
            }

            if (img == null)
            {
                return;
            }

            var descRect = new RectangleF(0, 28, 120, 72);

            graphics.DrawImage(img, descRect);

            var font = new Font("Microsoft YaHei", 15, FontStyle.Bold);

            var brushColor = select ? Color.White : Color.Black;
            var sbrush     = new SolidBrush(brushColor);

            var    str = type.ToString();
            PointF point;

            if (str.Length == 1)
            {
                point = new PointF(48, 0);
            }
            else if (str.Length == 2)
            {
                point = new PointF(31, 0);
            }
            else
            {
                throw new NotImplementedException();
            }

            graphics.DrawString(str, font, sbrush, point);

            var path = Path.Combine(GetRuntimePath(), fileName + ".bmp");

            bmp.Save(path, ImageFormat.Bmp);
        }