Увеличенное изображение для размещения в картинке - PullRequest
9 голосов
/ 11 августа 2011

Как вы можете видеть, первое изображение имеет размер (1024 * 768), и оно правильно отображается в картинке, а во втором случае размер изображения составляет (1600 * 900), и он отображается до половины Picturebox, а остальные отсутствуют. Так что нет, я хотел бы включить это изображение в Picturebox, независимо от того, какой размер и хотя он больше, чем размер Picturebox. Мне нужно масштабировать это изображение. Так как я могу сделать еще одно? И еще одна вещь заключается в том, что мне нужно автоматически изменять размер окна изображения, когда изображение загружается в него, как мы видим в эффекте лайтбокса. http://www.lokeshdhakar.com/projects/lightbox2/ --------> пример.

Любая помощь будет оценена!

Вот что я получаю.

enter image description here

enter image description here

Ответы [ 3 ]

8 голосов
/ 11 августа 2011

Если это приложение winforms, вы можете установить для свойства SizeMode PictureBox значение PictureBoxSizeMode.Zoom. Обратите внимание, что это увеличит размер меньших изображений, чтобы заполнить кадр, поэтому вы можете сначала измерить изображение, чтобы проверить, является ли какой-либо край слишком длинным, а затем установить SizeMode на PictureBoxSizeMode.Zoom или * 1006. *.

3 голосов
/ 06 марта 2014

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

Private Sub ScaleImage(ByVal p As PictureBox, ByRef i As Bitmap)
    If i.Height > p.Height Then
        Dim diff As Integer = i.Height - p.Height
        Dim Resized As Bitmap = New Bitmap(i, New Size(i.Width - diff, i.Height - diff))
        i = Resized
End If
    If i.Width > p.Width Then
        Dim diff As Integer = i.Width - p.Width
        Dim Resized As Bitmap = New Bitmap(i, New Size(i.Width - diff, i.Height - diff))
        i = Resized
End If

End Sub

1 голос
/ 08 октября 2015

Два самых простых способа подогнать изображение под любой размер PictureBox:

- установить изображение в качестве фонового изображения ИЛИ - установить его в качестве изображения в виде картинки, а затем установить sizemode на StretchImage

1.Background Image

- используйте BackgroundImage свойства PictureBox

        picturebox.BackgroundImage = Image.FromStream(New IO.MemoryStream(CType(data, Byte())))

- Затем установите его BackgroundImageLayout на stretch Как это:

        picturebox.BackgroundImageLayout = ImageLayout.Stretch

Изображение - используйте Изображение свойства PictureBox

picturebox.Image = Image.FromStream(New IO.MemoryStream(CType(data, Byte())))

- Затем установите его sizeMode равным StretchImage Как это:

    picturebox.SizeMode = PictureBoxSizeMode.StretchImage

Это позволит подогнать любой рисунок / изображение / холст (преобразованный в байтовый массив) в соответствии с высотой и шириной поля рисунка

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...