Фриланс-проекты › Улучшить функцию в c# Улучшить функцию в c#
Из функции, которая рисует линию, написать функцию, которая рисует Anti Aligned line в с#
public Bitmap DrawLine(Point a, Point b, Bitmap bmp, Color k)
{
int oct = 1;
int x1 = a.x; int y1 = a.y;
int x2 = b.x; int y2 = b.y;
int dx = x2 - x1;
int dy = y2 - y1;
int px = dx >> 1;
int py = dy >> 1;
int zx = 1;
if (dx != 0) zx = dx / Math.Abs(dx);
int zy = 1;
if (dy != 0) zy = dy / Math.Abs(dy);
dx *= zx;
x1 *= zx;
x2 *= zx;
y1 *= zy;
y2 *= zy;
dy *= zy;
if (dx<dy)
{
int tmp = dx;
dx = dy;
dy = tmp;
tmp = x1;
x1 = y1;
y1 = tmp;
tmp = x2;
x2 = y2;
y2 = tmp;
oct = 2;
}
int d = 2 * dy - dx;
int incrE = 2 * dy;
int incrNE = 2 * (dy - dx);
int x = x1;
int y = y1;
int f = 0;
if (oct == 2)
bmp.SetPixel(y * zx, x * zy, k);
else
bmp.SetPixel(x * zx, y * zy, k);
while (x<x2)
{
if (d<0)
{
d += incrE;
x++;
}
else
{
d += incrNE;
x++;
y++;
}
f++;
if (oct==2)
{
bmp.SetPixel(y * zx, x * zy, k);
}
else
{
bmp.SetPixel(x * zx, y * zy, k);
}
}
return bmp;
}
Отзыв заказчика о сотрудничестве с Энвером Халиловым
Улучшить функцию в c#Сделано хорошо и быстро. Советую исполнителя
Отзыв фрилансера о сотрудничестве с Ангелиной Ленинской
Улучшить функцию в c#Рекомендую заказчика, своевременно оплатила проект, предоставила все необходимые сведения для выполнения работы.
-
Как на картинке должно выглядеть?
-
Надо именно эту функцию переделать или нормально написать?
-
Юзайте клас Graphics