Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 8 của 8
  1. #1
    Trích dẫn Gửi bởi xinbat
    E đang làm 1 bài tập về đồ họa bằng C# nhưng gặp vấn đề.
    E đã vẽ 1 đường tròn lên 1 picturebox
    Bây giờ em muốn vẽ 8 điểm (của 1 đường tròn) lên picture box đó thì làm thế nào? Bác nào biết giúp e với!
    Trong C# hỗ trợ sẵn mấy cái này mà bạn
    Mã nguồn PHP:
    Graphics  

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn dùng công thức sau để vẽ:

    Mã nguồn PHP:
    private const int x0 = 200;private const int y0 = 200;....for (int i = 0; i < 360; i++) { int x = x0 + (int)Math.Round(170 * Math.Cos(i * Math.PI / 180)); int y = y0 - (int)Math.Round(170 * Math.Sin(i * Math.PI / 180)); if (i % 30 == 0 && i != 0 && i != 90 && i != 180 && i != 270) g.FillEllipse(Brushes.White, x, y, 7, 7); else if (i % 6 == 0 && i != 0 && i != 90 && i != 180 && i != 270) g.FillEllipse(Brushes.WhiteSmoke, x, y, 3, 3); }  
    trong đó x0 và y0 chính là width và height của hình chữ nhật (hình vuông) chứa hình tròn đó.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi tuanvu199x
    Trong C# hỗ trợ sẵn mấy cái này mà bạn
    Mã nguồn PHP:
    Graphics  
    Người ta đã vẽ được lên picture box rồi, không dùng graphics thì vẽ bằng niềm tin ah. Đọc yêu cầu vẽ tám điểm của người ta ấy.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi itkttn
    Bạn dùng công thức sau để vẽ:

    Mã nguồn PHP:
    private const int x0 = 200; private const int y0 = 200; .... for (int i = 0; i < 360; i++) { int x = x0 + (int)Math.Round(170 * Math.Cos(i * Math.PI / 180)); int y = y0 - (int)Math.Round(170 * Math.Sin(i * Math.PI / 180)); if (i % 30 == 0 && i != 0 && i != 90 && i != 180 && i != 270) g.FillEllipse(Brushes.White, x, y, 7, 7); else if (i % 6 == 0 && i != 0 && i != 90 && i != 180 && i != 270) g.FillEllipse(Brushes.WhiteSmoke, x, y, 3, 3); }  
    trong đó x0 và y0 chính là width và height của hình chữ nhật (hình vuông) chứa hình tròn đó.
    Để mình thử xem thế nào. Thanks bạn nhiều!

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi itkttn
    Bạn dùng công thức sau để vẽ:

    Mã nguồn PHP:
    private const int x0 = 200;private const int y0 = 200;....for (int i = 0; i < 360; i++) { int x = x0 + (int)Math.Round([B]170 [/B]* Math.Cos(i * Math.PI / 180)); int y = y0 - (int)Math.Round([B]170[/B] * Math.Sin(i * Math.PI / 180)); if (i % 30 == 0 && i != 0 && i != 90 && i != 180 && i != 270) g.FillEllipse(Brushes.White, x, y, 7, 7); else if (i % 6 == 0 && i != 0 && i != 90 && i != 180 && i != 270) g.FillEllipse(Brushes.WhiteSmoke, x, y, 3, 3); }  
    trong đó x0 và y0 chính là width và height của hình chữ nhật (hình vuông) chứa hình tròn đó.
    Bạn ơi! số 170 ở đây có ý nghĩa gì vậy?
    Giải thích hộ mình!

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    170 là radius ...............

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Vẽ đường tròn lên form trong C# như thế nào?

    E đang làm 1 bài tập về đồ họa bằng C# nhưng gặp vấn đề.
    E đã vẽ 1 đường tròn lên 1 picturebox
    Bây giờ em muốn vẽ 8 điểm (của 1 đường tròn) lên picture box đó thì làm thế nào? Bác nào biết giúp e với!

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình không giải thích đâu. Để biết rõ hơn 170 là gì thì bạn làm như sau:
    Vẽ hình vuông width = height = 200. x=y=0;
    Sau đó vẽ hình tròn như công thức trên là bạn sẽ thấy liền. cái đó mình dùng để vẽ các nút số của đồng hồ.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •