Пример #1
0
        /// <summary>
        /// Raises the <see cref="E:System.Windows.Forms.Control.Paint"></see> event.
        /// </summary>
        /// <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs"></see> that contains the event data.</param>
        protected override void OnPaint(PaintEventArgs e)
        {
            if (this.Watermark != null)
            {
                if (this.Desaturate)
                {
                    NuGenWatermarkRenderer.DrawDesaturatedWatermark(
                        e.Graphics
                        , _watermark
                        , this.ClientRectangle
                        , _watermarkTransparency
                        );
                }
                else
                {
                    NuGenWatermarkRenderer.DrawWatermark(
                        e.Graphics
                        , _watermark
                        , this.ClientRectangle
                        , _watermarkTransparency
                        );
                }
            }

            base.OnPaint(e);
        }
Пример #2
0
        public static void DrawDesaturatedWatermark(Graphics g, Image watermark, Rectangle bounds, int transparency)
        {
            int width  = watermark.Width;
            int height = watermark.Height;

            Image desaturatedImage = new Bitmap(width, height, PixelFormat.Format32bppArgb);

            using (Graphics desaturatedGrfx = Graphics.FromImage(desaturatedImage))
            {
                desaturatedGrfx.DrawImage(
                    watermark,
                    new Rectangle(0, 0, width, height),
                    0, 0, width, height,
                    GraphicsUnit.Pixel,
                    NuGenControlPaint.GetDesaturatedImageAttributes()
                    );
            }

            NuGenWatermarkRenderer.DrawWatermark(g, desaturatedImage, bounds, transparency);
        }
Пример #3
0
        /// <summary>
        /// Raises the <see cref="E:System.Windows.Forms.Control.Paint"></see> event.
        /// </summary>
        /// <param name="e">A <see cref="T:System.Windows.Forms.PaintEventArgs"></see> that contains the event data.</param>
        protected override void OnPaint(PaintEventArgs e)
        {
            Graphics  g      = e.Graphics;
            Rectangle bounds = this.ClientRectangle;

            if (bounds.Width > 0 && bounds.Height > 0)
            {
                using (Brush brush = new LinearGradientBrush(bounds, this.StartGradientColor, this.EndGradientColor, this.GradientDirection))
                {
                    g.FillRectangle(brush, bounds);
                }

                if (this.Watermark != null)
                {
                    Rectangle watermarkBounds = NuGenControlPaint.ImageBoundsFromContentAlignment(
                        this.WatermarkSize
                        , this.ClientRectangle
                        , this.WatermarkAlign
                        );

                    if (this.Desaturate)
                    {
                        NuGenWatermarkRenderer.DrawDesaturatedWatermark(
                            g
                            , this.Watermark
                            , watermarkBounds
                            , this.WatermarkTransparency
                            );
                    }
                    else
                    {
                        NuGenWatermarkRenderer.DrawWatermark(
                            g
                            , this.Watermark
                            , watermarkBounds
                            , this.WatermarkTransparency
                            );
                    }
                }
            }
        }