نقل قول: نوشتن یک تابع گرافیگی
سلام. اگه از توابع پر کننده رنگ استفاده کنی نمی شه؟
fill کنی بعد از اینکه کشیدیش
نقل قول: نوشتن یک تابع گرافیگی
ببنید کلا همچین دستور وجود داره که بک بیضی تو پر بکشه با هر رنگی دوست داریم اما من نیمتونم از این دستور ها استفاده کنم یعنی می هوام اون تابع رو خودم درست کنم
نقل قول: نوشتن یک تابع گرافیگی
چیزی که به نظر من میاد اینه که شما بیا image ای که توش بیضی رو رسم کردی خط به خط پروسس کن از بالا به پایین
پیکسلهای رنگی اول و آخر هر خط رو در بیار و پیکسلهایه بینشونم رنگی کن!
نقل قول: نوشتن یک تابع گرافیگی
این طوری که وحشتناک کند می شه
نقل قول: نوشتن یک تابع گرافیگی
به این روش نمیشه چون تو صفحه شکل های دیگه هم قرار داره بعد این کار عملا غیر ممکنه و یا اگه ممکن باشه درست نیست -من 2 تا نقطه دارم حطوری میشه دور این دو تا نقطه یک خط بکشم و توشو رنگی کنم
نقل قول: نوشتن یک تابع گرافیگی
همون موقع که داری نقطه میذاری جاش خط بگذار
نقل قول: نوشتن یک تابع گرافیگی
برای ایجاد یک پاره خط به دو نقطه احتیاج من در هر لحظه 1 نقطه دارم
نقل قول: نوشتن یک تابع گرافیگی
مختصات نقطه اول رو بذار تو متغیر first, Last.
از نقطه دوم به بعد وصل کن به last و دومی رو بذار تو last تا آخری.
آخری رو هم به first وصل کن.
نقل قول: نوشتن یک تابع گرافیگی
چرا از توابع خود C# برا اینکار استفاده نمیکنین ؟
private void Form2_Paint(object sender, PaintEventArgs e)
{
Rectangle beysi = new Rectangle(100, 100, 300, 100);
e.Graphics.TranslateTransform(beysi.Width - beysi.X / 2, beysi.Height - beysi.Y / 2);
e.Graphics.RotateTransform(45.0f);
e.Graphics.FillEllipse(Brushes.Blue, beysi);
}
اینم کد خودت ...
GraphicsPath path = new GraphicsPath();//<---------------------
int steps = 172;
double beta = -angle * (Math.PI / 180);
double sinbeta = Math.Sin(beta);
double cosbeta = Math.Cos(beta);
for (int i = 0; i < 360; i += 360 / steps)
{
double alpha = i * (Math.PI / 180);
double sinalpha = Math.Sin(alpha);
double cosalpha = Math.Cos(alpha);
double X = centerx + (width * cosalpha * cosbeta - height * sinalpha * sinbeta);
double Y = centery + (width * cosalpha * sinbeta + height * sinalpha * cosbeta);
m.SetPixel((int)X, (int)Y, Color.Red);
path.AddLines(new Point[] { new Point((int)X, (int)Y) });//<---------------------
}
Graphics.FromImage(m).FillPath(Brushes.Blue, path);//<---------------------
نقل قول: نوشتن یک تابع گرافیگی
نقل قول:
نوشته شده توسط
NIMA_1981
برای ایجاد یک پاره خط به دو نقطه احتیاج من در هر لحظه 1 نقطه دارم
خوب یه نقطه میشه نقطه روی محیط
یه نقطه میشه وسط بیضی