|
|
รบกวนช่วยแก้โค้ดจุดนี้ "gr.DrawEllipse(p_r, 0 + (c *a), 0 + ((10 * b1 )), r, r);" ให้หน่อยคับ |
|
|
|
|
|
|
|
ต้องการเขียนโปรแกรมให้วาดวงกลมสี่แดงอยู่ในกรอบสี่เหลี่ยมสีดำ ไม่ล้นออกนอกกรอบขาดบ้างไม่ถึงกรอบเล็กน้อยไม่เป็นไร ปัญหาโปรแกรมตอนนี้คือรัน วงกลมสี่แดงที่วาด มันเกินออกมาจากกรอบสี่เหลี่ยมสี่ดำที่ตีไว้คับ ช่วยดูและให้คำแนะนำหน่อยคับว่าควรจะใช้ วนลูป for หรือ if else ตอนไหนเพิ่งป่าวคับ ขอบคุณคับ
Code (C#)
using System;
using System.Linq;
using System.Text;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.Collections.Generic;
namespace Overlap
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//private const float WorldWidth = 1000;
//private const float WorldHeight = 1000;
// The scale.
//:::private float PictureScale = 1.0f;
private void button1_Click(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
Application.DoEvents();
float i = float.Parse(textBox2.Text);
float j = float.Parse(textBox1.Text);
float iwide = float.Parse(textBox3.Text);
Bitmap bm = new Bitmap(picCanvas.ClientSize.Width, picCanvas.ClientSize.Height);
picCanvas.Image = bm;
using (Graphics gr = Graphics.FromImage(bm))
{
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
DrawImage(gr, i, j, iwide);
}
this.Cursor = Cursors.Default;
}
void DrawImage(Graphics gr, float i, float j, float iwide)
{
gr.Clear(picCanvas.BackColor);
gr.PageUnit = GraphicsUnit.Millimeter;
Pen p = new Pen(Color.Black, 1);
Pen pp = new Pen(Color.Blue, 0.01f);
Pen p_r = new Pen(Color.Red, 0.5f);
gr.DrawRectangle(p, 0,0, i, j);
float jj, jja, r = 10;
float x1 = 0, y1 = 0,jjj;
jj = (j / 10) - 1;
jja = (i / 10) - 1;
float a, b1, c, d,b2,A1,aaa,b3;
c = iwide;
aaa=i/c;
A1 =(i-aaa)/c ;
b2 = i - aaa;
jjj = (j / 2);
for (a = 0; a <= aaa-1; a++)
{
for (b1 = 0; b1 <= (j / r) - 1; b1++)
{
gr.DrawEllipse(p_r, 0 + (c *a), 0 + ((10 * b1 )), r, r);//ช่วยแก้จุดนี้ให้หน่อยคับ
}
}
float k;
k = (i / 10) - 0;
for (iwide = 1; iwide <= k; iwide++)
{
Pen pen = new Pen(Color.Black, 0.0005F);
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
gr.DrawLine(pen, x1 + (iwide * 10) - 5, y1 + j, x1 + (iwide * 10) - 5, y1);
gr.DrawLine(pen, x1 + (iwide * 10) - 5, y1 + j, x1 + (iwide * 10) - 5, y1);
}
gr.Dispose();
}
public object PP { get; set; }
}
}
Tag : C#
|
|
|
|
|
|
Date :
2012-12-25 15:22:32 |
By :
try |
View :
1214 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไฟล์งานคับ http:// www.upload-thai.com/download.php?id=5c5e03fb10e381d3427fa7d174f4ba00
|
|
|
|
|
Date :
2012-12-25 15:24:45 |
By :
try |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|