12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Drawing;
- namespace FastReport.Matrix
- {
- internal class MatrixStyleSheet : StyleSheet
- {
- public Bitmap GetStyleBitmap(int index)
- {
- StyleCollection styleCollection = this[index];
- Style style = styleCollection[styleCollection.IndexOf("Header")];
-
- Color headerColor = Color.White;
- if (style.Fill is SolidFill)
- headerColor = (style.Fill as SolidFill).Color;
- else if (style.Fill is LinearGradientFill)
- headerColor = (style.Fill as LinearGradientFill).StartColor;
- style = styleCollection[styleCollection.IndexOf("Body")];
- Color bodyColor = Color.White;
- if (style.Fill is SolidFill)
- bodyColor = (style.Fill as SolidFill).Color;
- else if (style.Fill is LinearGradientFill)
- bodyColor = (style.Fill as LinearGradientFill).StartColor;
-
- // draw style picture
- Bitmap result = new Bitmap(16, 16);
- using (Graphics g = Graphics.FromImage(result))
- {
- g.FillRectangle(Brushes.White, 0, 0, 16, 16);
-
- using (Brush b = new SolidBrush(headerColor))
- {
- g.FillRectangle(b, 0, 0, 15, 8);
- }
- using (Brush b = new SolidBrush(bodyColor))
- {
- g.FillRectangle(b, 0, 8, 15, 8);
- }
-
- g.DrawRectangle(Pens.Silver, 0, 0, 14, 14);
- }
-
- return result;
- }
- }
- }
|