нет ошибки, но не могу загрузить изображение в форме окна - PullRequest
0 голосов
/ 25 мая 2011

код здесь, в окне дизайнера есть кнопка и графическое окно!

private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog dlg = new OpenFileDialog();

    dlg.Title = "Open Image";
    dlg.Filter = "bmp files (*.bmp)|*.bmp";

    if (dlg.ShowDialog() == DialogResult.OK)
    {

        PictureBox PictureBox1 = new PictureBox();
        PictureBox1.Image = Image.FromFile(dlg.FileName);
        /* PictureBox1.Image = new Bitmap(dlg.FileName);

            // Add the new control to its parent's controls collection
            this.Controls.Add(PictureBox1);
            //dlg.Dispose();*/
    }
}

нет ошибки, окно открывается, когда я нажимаю кнопку, открывается каталог, затем выбирается изображение, ноон не может загрузить изображение в окне.размер загружаемого имиджа составляет 49,6 МБ, это создает какие-либо проблемы.

Ответы [ 3 ]

3 голосов
/ 25 мая 2011

Вы закомментировали ту часть, в которой вы добавили изображение в окно, в id также предлагается установить некоторую элементарную ширину / высоту окна изображения, чтобы вы могли быть уверены, что оно отображается на экране.с гораздо меньшим тестовым изображением?

1 голос
/ 25 мая 2011

Вместо создания графического блока на лету поместите его в конструктор в любом месте и установите для его свойства Visible значение False.

Если вы назовете его PictureBox1, просто назначьте его изображение при каждом нажатии кнопки, не создавая никакого нового графического блока, и, кроме того, измените его Visible на true:

PictureBox1.Image = Image.FromFile(dlg.FileName);
PictureBox1.Visible = true;

С вашим текущим кодом, графическое окно получает позицию по умолчанию 0,0, что означает верхний левый угол окна.

0 голосов
/ 25 мая 2011

Попробуйте

PictureBox.Image = new Bitmap(dlg.FileName);
PictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
...