• C#. Что лучше: PictureBox или Paint?

    yudinikita
    @yudinikita
    Инженер-программист из России
    Я считаю, что нужно сначала пытаться отобразить шарики изображением, а если по какой-либо причине картинки не загрузились, то рисовать их.
    1. Создаем переменную с изображением
    Bitmap ImageBall;
    2. При инициализации формы с игрой пытаемся загрузить в эту переменную изображение
    try
    {
        ImageBall = new Bitmap("путь до изображения");
    }
    catch (Exception ex)
    {
        MessageBox.Show(@"Не удалось загрузить: " + ex.Message, @"Ошибка при загрузке изображений!");
    }

    3. Во время генерации шарика, мы проверяем, что изображение загрузилось, иначе рисуем сами
    Bitmap bmp = new Bitmap(50,50);
    Graphics gr = Graphics.FromImage(bmp);  // это пространство на котором рисуется игра
    Rectangle rect = new Rectangle(0,0,50,50); // размер шарика
    if(ImageBall == null) // если картинка не загрузилась
    {
        gr.DrawEllipse(new Pen(Color.Black), rect); // рисуем круг
    }
    else
    {
        gr.DrawImage(ImageBalls, rect); 
    }

    5. Помещаем в PictureBox наш шарик нарисованный или с картинкой
    pictureBox1.Image = bmp
    Ответ написан
    4 комментария