Buongiorno,
ho un problema con un’immagine ,a vorrei mettere come sfondo della mia form main, ho usato l’oggetto canvas e caricata l’immagine nel backdrop. Quando lancio il programma l’immagine non prende tutta la form ma solo una parte e non si adatta ai vari schermi.
Come posso fare?
Grazie
Umberto
Do not set it as a backdrop
use
g.drawpicture thepicture,0,0,g.width,g.height
in the Canvas Paint() event
jeff,
ho fatto come dici tu ma con occupa tutto lo schermo lo spazio molto ridotto
Il suggerimento di Jeff corretto, ma se vuoi che occupi tutto lo spazio devi aggiungere qualche parametro:
g.drawpicture thepicture,0,0,Window1.width,Window1.height,0,0,thepicture.Width,thepicture.Height
dove Window1 la form che devi riempire
Devi anche inserire un controllo eventualmente per mantenere il rapporto tra larghezza ed altezza; altrimenti cos escono immagini distorte.
Volendo puoi anche caricare un’immagine dalla cartella se ne conosci il nome senza incorporarla nel progetto …
dim paths as FolderItem
dim cartella as string
#if TargetWin32
paths = getfolderitem("")
#elseif TargetMacOS
paths = getfolderitem("")
#elseif TargetLinux
paths = getfolderitem("")
#endif
cartella = paths.ShellPath
nomefile = cartella
#if targetwin32
nomefile = nomefile + "\" + "nomeimmagine.jpg"
#elseif TargetLinux
nomefile = nomefile + "/" + "nomeimmagine.jpg"
#elseif TargetMacOS
nomefile = nomefile + "/" + "nomeimmagine.jpg"
#endif
///
if nomefile.Exists then
dim p as picture = picture.Open(nomefile)
g.drawpicture p,0,0,Window1.width,Window1.height,0,0,thepicture.Width,thepicture.Height
end
con questo codice carichi l’immagine dalla cartella dell’applicazione, se l’immagine in un altra cartella cambia :
paths = getfolderitem("\\users\
omeutente\\documenti\\immagini")
Ovviamente i path sono windows sono differenti …
c:\\users\
omeutente\\documenti\\immagini