コード例 #1
0
        public BitmapImage GetPlayerImage(int playerNumber)
        {
            BitmapImage bitmapImage;

            if (this.imageByNumberCache.TryGetValue(playerNumber, out bitmapImage))
            {
                return(bitmapImage);
            }

            Bitmap ret;

            try
            {
                ret = Properties.Resources.ResourceManager.GetObject($"_{playerNumber}") as Bitmap;
            }
            catch
            {
                ret = null;
            }
            ret = ret ?? Properties.Resources.default_person;

            var resized = ImageUtils.Resize(ret, WIDTH, HEIGHT);

            bitmapImage = ImageUtils.BitMapToBitMapImage(resized);
            this.imageByNumberCache[playerNumber] = bitmapImage;

            return(bitmapImage);
        }
コード例 #2
0
        private BitmapImage GetPlayerImage(BitmapImage image, int numbner)
        {
            BitmapImage bitmapImage;

            if (this.imageByNumberCache.TryGetValue(numbner, out bitmapImage))
            {
                return(bitmapImage);
            }

            var      text   = $"#{numbner}";
            var      bitmap = ImageUtils.BitmapImage2Bitmap(image);
            float    width  = 150;
            float    height = 50;
            float    x      = 0;
            float    y      = (float)image.Height - height;
            var      rectf  = new RectangleF(x, y, width, height);
            Graphics g      = Graphics.FromImage(bitmap);

            g.SmoothingMode     = SmoothingMode.AntiAlias;
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            g.PixelOffsetMode   = PixelOffsetMode.HighQuality;
            g.DrawString(text, new Font("Tahoma", 28), Brushes.DarkBlue, rectf);

            g.Flush();

            bitmapImage = ImageUtils.BitMapToBitMapImage(bitmap);
            this.imageByNumberCache[numbner] = bitmapImage;
            return(bitmapImage);
        }