PictureBox.Mode (gb.qt4)
Property Mode As Integer
Return or set the picture display mode.
It is one of the following constants:
PictureBox.Normal
|
The picture is displayed at it’s original size. No attempt is made to fit the picture to the size of the PictureBox.
|
PictureBox.Fill
|
The picture is stretched to fit both the width and height of the PictureBox. Proportionality of the picture is not maintained.
|
PictureBox.Cover
|
The picture proportionality is maintained. The entire PictureBox height and width is filled.
|
PictureBox.Contain
|
The picture proportionality is maintained. The entire picture is displayed and stretched for best fit.
|
PictureBox.Repeat
|
The picture is displayed at it’s original size and repeated. The entire PictureBox height and width is filled.
|
Example
' This demonstrates the PictureBox.Mode constants
' This code needs to be copied to a 'Graphical application'.
Private HBox1 As HBox
Private HBox2 As HBox
Private LabelMode As Label
Private PictureBox1 As PictureBox
Private SliderMode As Slider
Public Sub Form_Open()
With Me
.Height = 600
.Width = 800
.Arrangement = Arrange.Vertical
.Padding = 5
End With
With HBox1 = New HBox(Me)
.Height = 21
End With
With New Label(HBox1)
.Expand = True
.Height = 28
.Text = "Move slider to change PictureBox Mode"
.Font.Bold = True
End With
With LabelMode = New Label(HBox1)
.Expand = True
.Font.Bold = True
.Alignment = Align.Right
End With
With HBox2 = New HBox(Me)
.Height = 28
End With
With SliderMode = New Slider(HBox2) As "SliderMode"
.MaxValue = 4
.Mark = True
.Width = 180
End With
If Not Exist("/tmp/test.png") Then
Me.Show
Me.Title = "Please wait downloading image...."
Wait 0.5
If Not Component.IsLoaded("gb.net.curl") Then Component.Load("gb.net.curl")
File.save("/tmp/test.png", Object.New("HttpClient").Download("https://gambas.one/files/test.png"))
End If
With PictureBox1 = New PictureBox(Me)
.Expand = True
.Picture = Picture["/tmp/test.png"]
End With
SliderMode.Value = 4
End
Public Sub SliderMode_Change()
Dim sText As String[] = ["Normal", "Fill", "Cover", "Contain", "Repeat"]
PictureBox1.Mode = SliderMode.Value
LabelMode.Text = "PictureBox1.Mode = PictureBox." & sText[SliderMode.Value]
Me.Title = sText[SliderMode.Value]
End