نمایش نتایج 1 تا 4 از 4

نام تاپیک: رسم دو تا نیم دایره و تعیین محدوده

  1. #1

    رسم دو تا نیم دایره و تعیین محدوده

    سلام
    من با گرافیک کامپیوتری زیاد آشنا نیستم در حال حاضر می خوام دو تا نیم دایره بکشم که یه فاصله ای بین هم دارند و در ضمن در میان فاصله بینشون دوتا خط یه بازه ای رو جدا کرده برای کشیدن این شکل چکار باید انجام دهم لطفا راهنماییم کنید
    یه همچین شکلی که میخوام گوشه سمت چپ پایین یه picturebox باشه
    11.jpg

  2. #2

    نقل قول: رسم دو تا نیم دایره و تعیین محدوده

    من با کدهای زیر تونستم دوتا نیم دایره رو رسم کنم
    public void DrawChart()
    {
    Bitmap bitmap = new Bitmap(pbxLeft.Size.Width, pbxLeft.Size.Height, PixelFormat.Format32bppArgb);
    Graphics ModelGraphic = Graphics.FromImage(bitmap);
    Pen CirclePen = new Pen(Color.Blue, 2);
    Rectangle Rect = new Rectangle(-50, pbxLeft.Size.Height-50, 100, 100);
    Rectangle Rect1 = new Rectangle(-70, pbxLeft.Size.Height - 70, 140, 140);
    ModelGraphic.DrawEllipse(CirclePen, Rect);
    ModelGraphic.DrawEllipse(CirclePen, Rect1);
    pbxLeft.Image = bitmap;
    }


    حالا چطور دو تا خط رو برای تعیین محدوده رسم کنم یعنی می خوام دو تا خط که بازه زاویه ای بین 0 تا 90 تعیین می شود مثلا بازه زاویه 20 تا 50 را با دو خط مشخص کنم که از مبدا شروع می شود یک خط زاویه 20 و خط دیگر زاویه 50 را نشان میدهد چه کنم لطفا راهنمایی کنید

  3. #3
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: رسم دو تا نیم دایره و تعیین محدوده

    سلام بفرمائید:
    dc.png
    int w = 2;
    int radius = 100;
    int distance = 10;
    int radius2 = radius - distance;
    Bitmap b = new Bitmap(pictureBox1.Width, pictureBox1.Height);
    Graphics g = Graphics.FromImage(b);
    g.FillRectangle(Brushes.White, 0, 0, b.Width, b.Height);
    //
    int deg1 = 60;
    int deg2 = 30;
    float rad1 = (float)(Math.PI * deg1 / 180);
    float rad2 = (float)(Math.PI * deg2 / 180);
    float x1 = radius2 * (float)Math.Abs(Math.Cos(rad1)), y1 = b.Height - radius2 * (float)Math.Abs(Math.Sin(rad1));
    float x2 = radius * (float)Math.Abs(Math.Cos(rad1)), y2 = b.Height - radius * (float)Math.Abs(Math.Sin(rad1));
    float x3 = radius2 * (float)Math.Abs(Math.Cos(rad2)), y3 = b.Height - radius2 * (float)Math.Abs(Math.Sin(rad2));
    float x4 = radius * (float)Math.Abs(Math.Cos(rad2)), y4 = b.Height - radius * (float)Math.Abs(Math.Sin(rad2));


    g.DrawArc(new Pen(Brushes.Blue, distance), -radius + distance / 2, b.Height - radius + distance / 2, radius * 2 - distance, radius * 2 - distance, 10, -110);
    g.DrawArc(new Pen(Brushes.LightBlue, distance), -radius + distance / 2, b.Height - radius + distance / 2, radius * 2 - distance, radius * 2 - distance, -(deg2), (deg2 - deg1));


    g.DrawLine(new Pen(Brushes.Black, w), x1, y1, x2, y2);
    g.DrawLine(new Pen(Brushes.Black, w), x3, y3, x4, y4);


    g.DrawEllipse(new Pen(Brushes.Black, w), -radius, b.Height - radius, radius * 2, radius * 2);
    g.DrawEllipse(new Pen(Brushes.Black, w), -radius2, b.Height - radius2, radius2 * 2, radius2 * 2);


    pictureBox1.Image = b;

    پروژه:
    فایل های ضمیمه فایل های ضمیمه

  4. #4

    نقل قول: رسم دو تا نیم دایره و تعیین محدوده

    باورم نمیشه همون چیزیه میخواستم
    البته اینو باید گسترش بدم
    آفرین مرسی هرچی بگم بازم کمه ممنون

تاپیک های مشابه

  1. سوال در مورد رسم نیم دایره path در canvas
    نوشته شده توسط hhojjatt در بخش WPF
    پاسخ: 1
    آخرین پست: چهارشنبه 13 آبان 1388, 14:57 عصر
  2. سوال: رسم خط متحرک درون دایره
    نوشته شده توسط حامد فراست در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 25 دی 1387, 12:20 عصر
  3. تعیین محدوده در دستور Case
    نوشته شده توسط DataMaster در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 01 اسفند 1386, 18:08 عصر
  4. راه حلی به زبان cبرای رسم نقطه چین ونیم دایره
    نوشته شده توسط sanaz_am در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: سه شنبه 29 خرداد 1386, 21:34 عصر
  5. تعیین محدوده برای نمایش رکورد در دیتاگرید
    نوشته شده توسط هادی123 در بخش VB.NET
    پاسخ: 6
    آخرین پست: چهارشنبه 08 شهریور 1385, 10:27 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •