Загрузка...

Почему может быть такая ошибка?

Тема в разделе C# создана пользователем Minin_inactive4471240 12 мар 2022. 202 просмотра

  1. Minin_inactive4471240
    Minin_inactive4471240 Автор темы 12 мар 2022 3 5 сен 2021
    [IMG] вот так на картинку вписывается текст.

    Код

    public static void Pechat()
    {
    string FirstText = "привет Лолзтим, ты крут";
    string[] array = FirstText.Split(' ');
    int counterOfWords = 0;
    float horizontal = 250;
    float verticalForChertej = 150;

    float horizontal1 = 260;
    float vertica1l = 135;

    float horizontal2 = 120;
    float vertical2 = 150;

    int x = 20;

    for (int i = 0; i < array.Length; i++)
    {
    counterOfWords++;
    }
    if (counterOfWords > 2)
    {
    int counter = 0;

    Image img = Bitmap.FromFile(@"D:\scriptscheats\sert.jpg");
    for (int i = 0; i < counterOfWords; i++)
    {

    if (counter < 7)
    {
    ++counter;
    Graphics graph = Graphics.FromImage(img);
    graph.DrawString(array[i], new Font("MS Reference Sans Serif", (float)6.5), new SolidBrush(Color.Gray), horizontal1, vertica1l);
    horizontal1 += 35;
    graph = null;
    //img = null;
    }
    else
    {
    Graphics graph = Graphics.FromImage(img);
    graph.DrawString(array[i], new Font("MS Reference Sans Serif", (float)6.5), new SolidBrush(Color.Gray), horizontal2, vertical2);
    horizontal2 += 25;
    graph = null;

    }

    }
    img.Save(@"D:\scriptscheats\sert" + "1" + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    MessageBox.Show("Выполнено");
    }
    else if (counterOfWords <= 2)
    {
    Image img = Bitmap.FromFile(@"D:\scriptscheats\sert.jpg");
    for (int i = 0; i < counterOfWords; i++)
    {
    Graphics graph = Graphics.FromImage(img);
    graph.DrawString(array[i], new Font("MS Reference Sans Serif", (float)6.5), new SolidBrush(Color.Gray), horizontal1, vertica1l);
    horizontal1 += 25;
    graph = null;
    //img = null;

    MessageBox.Show("Выполнено");
    }
    img.Save(@"D:\scriptscheats\sert" + "1" + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    }

    }
     
  2. Minin_inactive4471240
    Minin_inactive4471240 Автор темы 12 мар 2022 3 5 сен 2021
    Minin_inactive4471240, Условие такого, что если в тесте больше 7 слов, то текст переносится на другую строчку смещением vertical += 25
    --- Сообщение объединено с предыдущим 12 мар 2022
    Но текст всё равно по-дурацки пишется, хоть horizontal ставь 35
     
  3. vtlstolyarov
    vtlstolyarov 12 мар 2022 468 8 янв 2022
    Чел, ты жжешь :)
    Код
    for (int i = 0; i < array.Length; i++)
    {
    counterOfWords++;
    }
     
    1. Посмотреть предыдущие комментарии (2)
    2. Minin_inactive4471240 Автор темы
    3. vtlstolyarov
      Minin_inactive4471240, Ни на что не влияет, просто взгляд зацепился. Ты бы объяснил в чём именно проблема, а то нихера не понятно чего ты хочешь добиться. И повторяющийся код с рисованием вынеси в параметрируемый метод, тоже сильно облегчит понимание кода.
    4. Minin_inactive4471240 Автор темы
      vtlstolyarov, добиться я хочу того, чтобы слова при нанесении на картинку не налазили друг на друга, как у меня получается
    5. Посмотреть следующие комментарии (1)
Top
Загрузка...