1. C# / Говнокод #6082

    +122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    static void Main(string[] args)
    {
        int count = 4096;
        int w = int.MaxValue / count;
        int h = 10;
        int argb = 0;
        Directory.CreateDirectory("test");
        for (int bj = 0; bj < count; ++bj)
        {
            Console.WriteLine("Processing bitmap #{0} of {1}...\t{2,3}%",
                              bj + 1, count, (int)(100f * ((float)(bj + 1) / (float)count)));
            using (Bitmap bmp = new Bitmap(w, h))
            {
                Console.Write("Done   0%");
                using (Graphics gr = Graphics.FromImage(bmp))
                    for (int x = 0; x < w; ++x, argb++)
                    {
                         gr.DrawLine(new Pen(Color.FromArgb(argb)), x, 0, x, h);
                         Console.Write("\b\b\b\b{0,3}%", (int)(100f * ((float)(x + 1) / (float)w)));
                    }
                    Console.Write("\nSaving bitmap...\n{0}", new string('-', 80));
                    bmp.Save(string.Format("test\\#{0}.bmp", bj + 1), ImageFormat.Bmp);
            }
        }
    }

    Если Вам нечего делать и есть лишние 80 гигов на харде...

    Запостил: FMB, 24 Марта 2011

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

    • Есть один чувак на гд.ру, который не пользуется дебагером, предпочитает логи. Но он вроде на плюсах пишет. Да, информативность этого лога - просто супер.
      Ответить
    • Это ж прогресс --verbose, не?
      Ответить
    • А зачем это, если не секрет? Может это тест на производительность какой-то такой замысловатый?
      Ответить
      • Да так... Тупо от фонаря сделано.
        Ответить
      • Кстати, производительность у Console.WriteLine просто адская (в плохом смысле). Хотел как-то заюзать для профилирования, так порядка 100 вызовов в секунду сжирали больше времени, чем обход здорового дерева.
        Ответить
        • Я бы может смотрел в сторону Console.Out.AutoFlush или как-то так, ну или может в winapi можно найти способ дешевле получить stdout и самому придумать буффер :) Но это что-то из разряда относящегося к коду, который мы наблюдаем - возможно интересное занятие, но крайне сомнительной полезности :)
          Ответить

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