예제 #1
0
        /// <summary>
        /// </summary>
        /// <exception cref="ArgumentNullException">
        /// <para>
        ///		<paramref name="g"/> is <see langword="null"/>.
        /// </para>
        /// -or-
        /// <para>
        ///		<paramref name="image"/> is <see langword="null"/>.
        /// </para>
        /// </exception>
        public void DrawImage(Graphics g, Rectangle bounds, NuGenControlState state, Image image)
        {
            if (g == null)
            {
                throw new ArgumentNullException("g");
            }

            if (image == null)
            {
                throw new ArgumentNullException("image");
            }

            switch (state)
            {
            case NuGenControlState.Disabled:
            {
                g.DrawImage(
                    image,
                    bounds,
                    0, 0, image.Width, image.Height,
                    GraphicsUnit.Pixel,
                    NuGenControlPaint.GetDesaturatedImageAttributes()
                    );
                break;
            }

            default:
            {
                g.DrawImage(image, bounds);
                break;
            }
            }
        }
예제 #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);
        }