1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System.Drawing;
- namespace Emby.Drawing.Net
- {
- public class UnplayedCountIndicator
- {
- private const int IndicatorHeight = 41;
- public const int IndicatorWidth = 41;
- private const int OffsetFromTopRightCorner = 10;
- public void DrawUnplayedCountIndicator(Graphics graphics, Size imageSize, int count)
- {
- var x = imageSize.Width - IndicatorWidth - OffsetFromTopRightCorner;
- using (var backdroundBrush = new SolidBrush(Color.FromArgb(225, 82, 181, 75)))
- {
- graphics.FillEllipse(backdroundBrush, x, OffsetFromTopRightCorner, IndicatorWidth, IndicatorHeight);
- var text = count.ToString();
- x = imageSize.Width - IndicatorWidth - OffsetFromTopRightCorner;
- var y = OffsetFromTopRightCorner + 6;
- var fontSize = 24;
- if (text.Length == 1)
- {
- x += 10;
- }
- else if (text.Length == 2)
- {
- x += 3;
- }
- else if (text.Length == 3)
- {
- x += 1;
- y += 1;
- fontSize = 20;
- }
- using (var font = new Font("Sans-Serif", fontSize, FontStyle.Regular, GraphicsUnit.Pixel))
- {
- using (var fontBrush = new SolidBrush(Color.White))
- {
- graphics.DrawString(text, font, fontBrush, x, y);
- }
- }
- }
- }
- }
- }
|