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); }
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); }