PictureBox.Mode (gb.qt4)

Property Mode As Integer

Restituisce o imposta la modalità di visualizzazione delle picture:

PictureBox.Normal La picture viene visualizzata nella dimensione originale. Non viene fatto alcun tentativo di adattare la picture alle dimensioni della PictureBox.
PictureBox.Fill La picture viene allungata per adattarsi sia alla larghezza che all'altezza della PictureBox. La proporzionalità dell'immagine non è mantenuta.
PictureBox.Cover Viene mantenuta la proporzionalità della picture. La PictureBox viene riempita per l'intera altezza e larghezza.
PictureBox.Contain Viene mantenuta la proporzionalità della picture. L'intera immagine viene visualizzata e allungata per adattarsi al meglio.
PictureBox.Repeat La picture viene visualizzata nella dimensione originale e ripetuta. La PictureBox viene riempita per l'intera altezza e larghezza.

Esempio

'Questo dimostra le costanti PictureBox.Mode
'Questo codice deve essere copiato in una 'Applicazione grafica'.

HBox1 As HBox
HBox2 As HBox
LabelMode As Label
PictureBox1 As PictureBox
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 = "Sposta il cursore per cambiare la modalità PictureBox"
  .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 = "Attendere il download dell'immagine...."
  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