私は楕円形の絵文字を持っています(下のコード)。私はpictureboxの周りに境界線を追加したい。私はすでに二番目のrectを追加しようとしましたが、これは私の領域を小さくしました。国境を作る方法はありますか?楕円形の絵の周りに枠を描きます
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
class OvalPictureBox : PictureBox
{
public OvalPictureBox()
{
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
using (var gp = new GraphicsPath())
{
gp.AddEllipse(new Rectangle(0, 0, this.Width - 1, this.Height - 1));
this.Region = new Region(gp);
}
}
private void InitializeComponent()
{
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
this.SuspendLayout();
//
// OvalPictureBox
//
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
this.ResumeLayout(false);
}
}
EDIT
私はそれを考え出しました。私はただpictureboxに楕円を描きます。
float penWidth = 5F;
Pen myPen = new Pen(Color.FromArgb(242, 141, 1), penWidth);
e.Graphics.DrawEllipse(myPen, new RectangleF(new PointF(0, 0), new
SizeF((float)(portraitPicture.Width - 1), portraitPicture.Height - 1)));
myPen.Dispose();
クリーナー以上の方法がありますか?それとも最善の方法ですか?
これは私があなたに与えた解決策です:) –
ああ私はあなたがhahaを理解していなかったか:)ありがとう! – Backs