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