TigerFab
Messages postés115Date d'inscriptionsamedi 15 février 2003StatutMembreDernière intervention18 mai 2008
-
12 mars 2004 à 16:29
TigerFab
Messages postés115Date d'inscriptionsamedi 15 février 2003StatutMembreDernière intervention18 mai 2008
-
4 avril 2004 à 19:50
Bonjour,
J'aimerai savoir comment vous feriez pour afficher une image centrée à l'écran dont ses dimensions sont plus petites que la résolution écran.... en .NET
Je m'explique : vous faites un formulaire de la taille de l'écran, vous prenez une image plus petite dans le backgroundImage ou dans un composant image de la dimension de l'écran. Si vous voulez la centrer sans la redimensionner comment vous faites ? Car par défaut, g.drawimage fait une "mosaique" de l'image (le reste du composant image est rempli de parties de l'image puisque celle ci est plus petite que le composant lui même) en plus g.drawimage ca ne "s'incruste pas" dans le composant.
Moi pour le moment je capture l'image dans une variable image. Et je rempli des getpixel et setpixel (de noir) via 2 boucles (X & Y) et je met l'image au centre avec les setpixel. mais 1024*768 pixels à traiter ca prend trop de temps !!
alicvb
Messages postés134Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 6 juin 20071 4 avril 2004 à 16:54
Attend, en relisant ton message, voici deux solutions sans doute plus simples :
1- création d'une nouvelle image avec des marges et affection de celle_ci à ta propriété background :
Dim im As New Bitmap(f.ClientSize.Width, f.ClientSize.Height)
Dim g As Graphics
g = Graphics.FromImage(im)
g.DrawImage(myimage, (im.Width - myimage.width) / 2, (im.Height - myimage.height) / 2)
g.Save()
f.BackgroundImage = im
2- Utilisation de l'évenement paint de ta form :
Private Sub Pa_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Pa.Paint
e.graphics.DrawImage(myimage, (f.ClientSize.Width - myimage.width) / 2, (f.ClientSize.Height - myimage.height) / 2)
End Sub
Othographe à vérifier, car y'a pas de completion...
Ca marche ?