PDA

View Full Version : سوال: رسم دایره بر اساس سانتیمر



hadi vafaii
چهارشنبه 29 آذر 1396, 22:54 عصر
سلام عرض میکنم خدمت دوستان عزیز
من میخوام دایره روی فرم رسم کنم و بعد روی برگه چاپ کنم اما هرچی داخل گوگل سرچ کردم فقط رسم بر اساس پیکسل وجود داره و پیکسل هم بر اساس رزولوشن اندازه سانتیمترش متفاوت
حالا اگر بخوام دایره بر اساس سانتیمتر رسم بشه چیکار باد بکنم البته باید این اندازه رو کاربر بتونه تعیین کنه مثلا یه دایره به شعاع 20 سانتیمتر
اگر تکراریه خواهشا لینک بدین نه حذف

danialafshari
پنج شنبه 30 آذر 1396, 01:21 صبح
سلام عرض میکنم خدمت دوستان عزیز
من میخوام دایره روی فرم رسم کنم و بعد روی برگه چاپ کنم اما هرچی داخل گوگل سرچ کردم فقط رسم بر اساس پیکسل وجود داره و پیکسل هم بر اساس رزولوشن اندازه سانتیمترش متفاوت
حالا اگر بخوام دایره بر اساس سانتیمتر رسم بشه چیکار باد بکنم البته باید این اندازه رو کاربر بتونه تعیین کنه مثلا یه دایره به شعاع 20 سانتیمتر
اگر تکراریه خواهشا لینک بدین نه حذف

با سلام
برای اینکار می تونید از میلیمتر(Millimeter) استفاده کنید
هر 1 سانتی متر برابر 10 میلیمتر هست بخاطر همین در 10 ضرب می کنیم

private void button1_Click(object sender, EventArgs e)
{
int r = int.Parse(textBox1.Text) * 10;
System.Drawing.Graphics GraphicsObject = Graphics.FromHwnd(this.Handle);
GraphicsObject.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
System.Drawing.SolidBrush RedSolidBrush = new SolidBrush(Color.Red);
GraphicsObject.PageUnit = GraphicsUnit.Millimeter;
GraphicsObject.FillEllipse(RedSolidBrush, new Rectangle(20, 20, r, r));
}

اگر شما عدد 20 را در textBox1 وارد کنید یک دایره به قطر 20 سانتی متر برای شما رسم خواهد شد
موفق باشید

hadi vafaii
پنج شنبه 30 آذر 1396, 11:50 صبح
ممنون از کمکتون اما این کد دایره رو گوشه فرم قرار میده اگر بخوام دقیقا وسط picturBox بکشم چجوری باید عمل کنم

147304

danialafshari
پنج شنبه 30 آذر 1396, 12:40 عصر
ممنون از کمکتون اما این کد دایره رو گوشه فرم قرار میده اگر بخوام دقیقا وسط picturBox بکشم چجوری باید عمل کنم

147304

کاشکی یک مقدار هم خودتون تلاش می کردید
به جای this.Handle از pictureBox1.Handle استفاده کنید و در خط آخر اون 20 و 20 که گذاشتم x و y نسبت به آبجکتیه که توش Handle شده
موفق باشید

336699
پنج شنبه 30 آذر 1396, 13:16 عصر
سلام


147305

danialafshari
پنج شنبه 30 آذر 1396, 13:37 عصر
سلام


147305

با سلام
پارامترهاش int هستن و اعشاری قبول نمیکنه
موفق باشید