Си диез / Говнокод #9989 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
xg = (int)Math.Round(40 + ye[0] * 360 / 12);
                yg = (int)Math.Round(340 - ye[1] * (decimal)2.5);
                cur = new PointF((float)xg, (float)yg);

Отрисовка графика.

Запостил: cgbs cgbs, (Updated )

Комментарии (6) RSS

  • Говнокод в том что точка обьялена как флоат, и чтобы передать в нее координаты они приводятся к флоату соотведственно, н оведь строчкой выше они были были привены к инту из другого вещественного типа.
    Ответить
    • Да нет тут ничего фатального, в принципе. Нормальный код. Возможно за исключением yg = (int)... , но и для этого могут быть причины.
      А вот вы, похоже, среду с которой работаете - не знаете. System.Drawing использует дробные точки тупо потому, что умеет делать сглаживание. Попробуйте нарисовать линию с концами (10.5; 10) и (10.5; 110)
      Ответить
      • Извините, что встреваю в разговор, но дробные точки применяются потому что есть возможность использовать различные единицы измерения (GraphicsUnit.Inch, например). И со сглаживанием это никак не связано...
        Ответить
        • Видимо я неверно сформулировал.
          System.Drawing умеет рисовать линии с дробными координатами.
          (10.5; 10) и (10.5; 110)
          он нарисует линию шириной 2 пикселя с прозрачностью 50%
          Я это имел ввиду. Имхо, какой смысл использовать что-то от GraphicsUnit.Pixel (или как там его), если SDK не сможет его корректно отобразить?

          А вообще System.Drawing писали осминоги, да...
          Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8