Beispiel #1
0
        public void Update(Rectangle drawSize, bool SetImage)
        {
            if (Initialized == false)
            {
                return;
            }

            if (SetImage == true)
            {
                ImageObj = new Bitmap(mPicBox.Width, mPicBox.Height);
            }
            else
            {
                ImageObj = new Bitmap(drawSize.Width, drawSize.Height);
            }
            using (Graphics g = Graphics.FromImage(ImageObj)) {
                g.SmoothingMode     = SmoothingMode.HighQuality;
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                using (GraphicsPath gp = new GraphicsPath()) {
                    if (BackgroundCorner > 0)
                    {
                        gp.AddRectangleRounded(drawSize, BackgroundCorner);
                    }
                    else
                    {
                        gp.AddRectangle(drawSize);
                    }
                    g.SetClip(gp);
                }

                for (int i = DrawOrder.Count - 1; i >= 0; i--)
                {
                    switch (DrawOrder[i])
                    {
                    case EDrawOrder.Signatur_Rand:
                        DrawForeground(g, drawSize);
                        break;

                    case EDrawOrder.Custom_Text:
                        DrawCustomString(g, drawSize);
                        break;

                    case EDrawOrder.Charakter_Details:
                        DrawShaiyaDetails(g, drawSize);
                        break;

                    case EDrawOrder.Hintergrund_Image:

                        DrawBackgroundImage(g, drawSize);
                        break;

                    case EDrawOrder.Hintergrund_Überlagerung:
                        DrawBackgroundOverlay(g, drawSize);
                        break;

                    case EDrawOrder.Hintergrund_Verlauf:
                        DrawBackgroundGradient(g, drawSize);
                        break;
                    }
                }
            }

            if (SetImage == false)
            {
                return;
            }

            mPicBox.Image = ImageObj.Clone() as Image;
            mPicBox.Invalidate();
            ImageObj.Dispose();
        }