Autore Topic: Far combaciare le immagini poste in due celle adiacenti di una GridView  (Letto 243 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
In due celle adiacenti di una GridView carico due immagini, che tecnicamente si adattano all'estensione dell'immagine.
Noto però che i bordi contigui delle due immagini non combaciano fra loro perfettamente, restando uno spazio di circa 2 millimetri, nel mezzo del quale inoltre corre la linea appartenente alla griglia della GridView.
Sapete se è possibile far sparire la linea della griglia ed eliminare lo spazio fra le due immagini, affinché esse appaiano perfettamente adiacenti senza soluzione di continuità.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Intendi qualcosa del genere?.
 ;D avevo capito tutt'altra cosa...

Però non capisco a cosa serva inserire un'immagine in una gridview se poi non mostri la griglia.
Con Paint.DrawImage puoi scomporre l'immagine in quadrati o rettangoli che puoi inserire nelle varie celle così non perdi nulla dell'immagine che altrimenti verrebbe coperta dalla griglia.

Puoi spiegarti meglio?
« Ultima modifica: 11 Ottobre 2021, 11:46:17 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Però non capisco a cosa serva inserire un'immagine in una gridview se poi non mostri la griglia.
Con Paint.DrawImage.....
Sì, dunque ho lasciato stare la GridView in favore di una DrawingArea o di più PictureBox poste in una ScrollView.
Grazie, comunque, Gianluigi.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Intendi cosi?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Ti ringrazio, milio, ma il tuo esempio prevede lo stiramento delle immagini mediante il Metodo ".Stretch()" della Classe "Image".
Per il mio progetto non posso alterare minimamente il loro aspetto grafico.
Ad ogni modo mi hai fatto notare la Proprietà ".Grid" della Classe "GridView" per mostrare o meno la griglia.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Dunque... dovrei aver risolto: è necessario assegnare un valore negativo alla Proprietà ".Padding" dell'Oggetto "GridView".

Mostro un esempio pratico, nel quale si creerà da codice una "GridView" composta da una griglia avente due righe e tre colonne.
In ogni cella sarà assegnata un'immagine scaricata da internet. Pertanto sarà necessario attivare preventivamente anche i Componenti gb.net e gb.net.curl .
Alla proprietà ".Background" della "GridView" verrà assegnato il valore corrispondente al colore arancione. Quindi, se il test non va bene, si vedrà una linea verticale di colore arancione fra due o fra tutte le celle contenti le immagini.
Resta necessario anche assegnare il valore booleano "False" alla Proprietà ".Grid" della "GridView".
Codice: [Seleziona]
Public Sub _new()
 
  With Me
    .W = Screen.AvailableWidth
    .H = Screen.AvailableHeight
  End With
   
End

Public Sub Form_Open()

  Dim hc As New HttpClient
  Dim s As String
  Dim GridView1 As GridView
  Dim im As Image
 
' Scarica da internet un'immagine:
  s = hc.Download("https://ps.w.org/tiny-compress-images/assets/icon-256x256.png")
  hc.Close
 
' Crea un Oggetto "Image" con i dati in formato stringa dell'immagine scaricata:
  im = Image.FromString(s) 
 
  With GridView1 = New GridView(Me)   ' Crea un "GridView" sul Form
    .X = Me.W * 0.2
    .Y = Me.W * 0.1
    .Columns.Count = 3
    .Rows.Count = 2
    .W = im.W * GridView1.Columns.Count
    .H = im.H
    .Background = Color.Orange
' Non fa apparire le linee costitutive della griglia della "GridView":
    .Grid = False
' Con un valore negativo ogni cella si adatterà all'immagine che in essa sarà caricata:
    .Padding = -1
  End With

' Imposta la dimensione di ciascuna cella della GridView:
  GridView1.Rows.H = im.H
  GridView1.Columns.Width = im.W

' Assegna ad ogni cella la medesima immagine scaricata da internet:
  GridView1[0, 0].Picture = im.Picture
  GridView1[0, 1].Picture = im.Picture
  GridView1[0, 2].Picture = im.Picture
  GridView1[1, 0].Picture = im.Picture
  GridView1[1, 1].Picture = im.Picture
  GridView1[1, 2].Picture = im.Picture
 
End


« Ultima modifica: 12 Ottobre 2021, 03:31:17 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »