コード例 #1
0
ファイル: ImageBox.cs プロジェクト: namit3/BlueMind
        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.Clear(BackColor);

            if (TransparentBackground)
            {
                PaintHelper.DrawTransparentBackground(e.Graphics, ClientRectangle);
            }

            if (Image != null)
            {
                var clientSize = ClientSize;
                var rectImage  = new Rectangle(-HorizontalScroll.Value, -VerticalScroll.Value, ImageViewSize.Width, ImageViewSize.Height);
                rectImage.X += Math.Max(0, (clientSize.Width - rectImage.Width) / 2);
                rectImage.Y += Math.Max(0, (clientSize.Height - rectImage.Height) / 2);

                e.Graphics.DrawImage(Image,
                                     rectImage,
                                     0, 0, Image.Width, Image.Height,
                                     GraphicsUnit.Pixel);
            }
        }