none
picturebox ovallik.

    Soru

  • Merhaba arkadaşlar picturebox companentini nasıl oval şekle sokabilirm ve yuvarlayabilrim yardımcı olacak arkadaşlara teşekkürler kolay gelsin.

    Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun

    08 Haziran 2012 Cuma 10:44

Yanıtlar

  • aşağıdakini dener misiniz?

    Rectangle r = new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height);
    
    System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
    
    int d = 50;
    
    gp.AddArc(r.X, r.Y, d, d, 180, 90);
    gp.AddArc(r.X + r.Width - d, r.Y, d, d, 270, 90);
    gp.AddArc(r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90);
    gp.AddArc(r.X, r.Y + r.Height - d, d, d, 90, 90);
    
    pictureBox1.Region = new Region(gp);


    http://www.mehmetx.com

    • Yanıt Olarak İşaretleyen Yaşar Tunç 08 Haziran 2012 Cuma 19:37
    08 Haziran 2012 Cuma 10:58
    Yanıtlayıcı
  •  

    Merhaba Yaşar Bey , 

    bu kodu deniyelim ;

    public class EllPic : PictureBox
        {
            public EllPic()
            {
                using (System.Drawing.Drawing2D.GraphicsPath gP = new System.Drawing.Drawing2D.GraphicsPath())
                {
                    gP.AddEllipse(new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height));

                    if (this.Region != null)
                        this.Region.Dispose();

                    this.Region = new Region(gP);
                }
            }

            protected override void OnLayout(LayoutEventArgs levent)
            {
                base.OnLayout(levent);

                using (System.Drawing.Drawing2D.GraphicsPath gP = new System.Drawing.Drawing2D.GraphicsPath())
                {
                    gP.AddEllipse(new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height));

                    if (this.Region != null)
                        this.Region.Dispose();

                    this.Region = new Region(gP);
                }
            }

            protected override void OnHandleDestroyed(EventArgs e)
            {
                if (this.Region != null)
                    this.Region.Dispose();

                base.OnHandleDestroyed(e);
            }
        }


    I compute therefore I am

    • Yanıt Olarak İşaretleyen Yaşar Tunç 08 Haziran 2012 Cuma 19:37
    08 Haziran 2012 Cuma 13:07

Tüm Yanıtlar

  • aşağıdakini dener misiniz?

    Rectangle r = new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height);
    
    System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
    
    int d = 50;
    
    gp.AddArc(r.X, r.Y, d, d, 180, 90);
    gp.AddArc(r.X + r.Width - d, r.Y, d, d, 270, 90);
    gp.AddArc(r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90);
    gp.AddArc(r.X, r.Y + r.Height - d, d, d, 90, 90);
    
    pictureBox1.Region = new Region(gp);


    http://www.mehmetx.com

    • Yanıt Olarak İşaretleyen Yaşar Tunç 08 Haziran 2012 Cuma 19:37
    08 Haziran 2012 Cuma 10:58
    Yanıtlayıcı
  •  

    Merhaba Yaşar Bey , 

    bu kodu deniyelim ;

    public class EllPic : PictureBox
        {
            public EllPic()
            {
                using (System.Drawing.Drawing2D.GraphicsPath gP = new System.Drawing.Drawing2D.GraphicsPath())
                {
                    gP.AddEllipse(new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height));

                    if (this.Region != null)
                        this.Region.Dispose();

                    this.Region = new Region(gP);
                }
            }

            protected override void OnLayout(LayoutEventArgs levent)
            {
                base.OnLayout(levent);

                using (System.Drawing.Drawing2D.GraphicsPath gP = new System.Drawing.Drawing2D.GraphicsPath())
                {
                    gP.AddEllipse(new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height));

                    if (this.Region != null)
                        this.Region.Dispose();

                    this.Region = new Region(gP);
                }
            }

            protected override void OnHandleDestroyed(EventArgs e)
            {
                if (this.Region != null)
                    this.Region.Dispose();

                base.OnHandleDestroyed(e);
            }
        }


    I compute therefore I am

    • Yanıt Olarak İşaretleyen Yaşar Tunç 08 Haziran 2012 Cuma 19:37
    08 Haziran 2012 Cuma 13:07
  • 2 kodda mükemmel calışıyor arkadaşlar ellerinize saglık. teşekkürler.

    Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun

    08 Haziran 2012 Cuma 19:37
  • Merhaba Yasar Bey , 

    Birde bu kodu deneyin ; 

       public partial class UserControl1 : UserControl
        {
            private Bitmap _bmp = null;
            private TextureBrush _tb = null;

            public Bitmap FBitmap
            {
                get { return _bmp; }
                set 
                {
                    Bitmap b = _bmp;
                    _bmp = value;

                    if (b != null && _bmp != null && _bmp.Equals(b) == false)
                        b.Dispose();

                    try
                    {
                        TextureBrush t = _tb;

                        if (_bmp != null)
                            _tb = new TextureBrush(_bmp);

                        if (t != null)
                            t.Dispose();
                    }
                    catch
                    {

                    }
                }
            }

            public UserControl1()
            {
                InitializeComponent();
                this.DoubleBuffered = true;
            }

            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);

                if (_tb != null)
                {
                    e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

                    e.Graphics.FillEllipse(_tb, new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height));
                }
            }

            protected override void OnLayout(LayoutEventArgs e)
            {
                base.OnLayout(e);

                this.Invalidate();
            }

            protected override void OnHandleDestroyed(EventArgs e)
            {
                if (_tb != null)
                    _tb.Dispose();

                if (_bmp != null)
                    _bmp.Dispose();
                base.OnHandleDestroyed(e);
            }
        }

    08 Haziran 2012 Cuma 23:51