Member 12324523 Ответов: 2

Создание изображений из текста при нажатии кнопки с помощью C#


Мне нужно генерировать изображения случайным образом при нажатии кнопки с помощью c#
private Image DrawText(String text, Font font, Color textColor, Color backColor)
{
    //first, create a dummy bitmap just to get a graphics object
    Image img = new Bitmap(1, 1);
    Graphics drawing = Graphics.FromImage(img);

    //measure the string to see how big the image needs to be
    SizeF textSize = drawing.MeasureString(text, font);

    //free up the dummy image and old graphics object
    img.Dispose();
    drawing.Dispose();

    //create a new image of the right size
    img = new Bitmap((int) textSize.Width, (int)textSize.Height);

    drawing = Graphics.FromImage(img);

    //paint the background
    drawing.Clear(backColor);

    //create a brush for the text
    Brush textBrush = new SolidBrush(textColor);

    drawing.DrawString(text, font, textBrush, 0, 0);

    drawing.Save();

    textBrush.Dispose();
    drawing.Dispose();

    return img;

}


Что я уже пробовал:

я не смог найти ни одного источника может ли кто нибудь помочь мне так как я новичок в этом деле

2 Ответов

Рейтинг:
2

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!

Но я дам вам несколько советов:
1) Посмотрите на случайный класс: [^]- он имеет метод GetNext, который принимает верхний и нижний предел возвращаемого значения, что позволяет выбрать пятизначные числа.
2) Получите счет от пользователя и посмотрите на использование инт.TryPasre[^], чтобы преобразовать его в целочисленное значение. (Или лучше использовать элемент управления NumericUpDown вместо текстового поля и получить проверенное значение напрямую.
3) Используйте цикл с результатом (2) для повторного вызова (1).

Чтобы предотвратить повторения, я бы заполнил список"int" всеми допустимыми пятизначными числами, а затем использовал случайный класс для выбора индекса в нем. После выбора удалите значение из списка (что уменьшит максимальный индекс)


OriginalGriff

Я предоставил вам ссылки, которые дают вам достаточно информации, чтобы решить эту проблему: вы ничего не узнаете из "полного решения" (если бы оно существовало для каждого домашнего вопроса, чего нет), и это было бы несправедливо по отношению к вашим одноклассникам.
Попробуйте, это довольно просто и займет у вас меньше времени, чем вы уже потратили, пытаясь избежать этого самостоятельно! :смеяться:

OriginalGriff

Да, кстати...
Вы понимаете, что ваш наставник, вероятно, проверяет все эти сайты и сразу же узнает, скопировали ли вы с них решение? Напишите свой собственный, используя информацию, которую я вам дал...

OriginalGriff

Почему? Они-часть разговора!

Рейтинг:
1

Patrice T

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, с которыми вы сталкиваетесь при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Итак, попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Цитата:
я не смог найти ни одного источника может ли кто нибудь помочь мне так как я новичок в этом деле

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Возьмите лист бумаги и смоделируйте свою задачу с помощью 2-х цифр чисел. Обратите внимание, как вы действуете, программа будет следовать той же процедуре.