Установить размер изображения в графическом окне? - PullRequest
2 голосов
/ 07 марта 2012

У меня есть поле для картинок с мозаичным фоновым изображением (плоское растровое изображение белого цвета) и ресурсом «изображение» с центром в середине, я бы хотел, чтобы размер этого центрированного изображения был в пределах окна рисунка.

Я пытался:

picScaledRepresentation.SizeMode = PictureBoxSizeMode.CenterImage
picScaledRepresentation.Size = New Size(Width, Height)

Но это только изменило размер всего изображения, а не изображение внутри него.

Спасибо, хорошего дня

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Опция CenterImage не позволяет масштабировать и т. Д. Посмотрите перечисление PictureBoxSizeMode: http://msdn.microsoft.com/en-us/library/system.windows.forms.pictureboxsizemode.aspx.

Вы, вероятно, хотите StretchImage, AutoSize или Zoom

1 голос
/ 07 марта 2012

Используйте Padding свойство Picture Box, чтобы изменить размер изображения в картинке. // Свойство режима «Первый набор размеров» для графического блока

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

Тогда

int padding = 0;
    private void btnAddView_Click(object sender, EventArgs e)
    {
        //resultViewContainer.AddView("Data");   
        padding += 10;
        pictureBox1.Padding = new Padding(padding);

    }

    private void pictureBox1_PaddingChanged(object sender, EventArgs e)
    {
        PictureBox pic = sender as PictureBox;
        pic.Refresh();
    }

    private void simpleButton1_Click(object sender, EventArgs e)
    {
        if (padding >= 10)
        {
            padding -= 10;
        pictureBox1.Padding = new Padding(padding);
        }

    }

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

...