Transparence partielle et bords irréguliers en .net

Contenu du snippet

Pour rendre un form irrégulier (par ex.), on lui applique une image d'arrière-plan où une couleur prédéfinie deviendra transparente grace à la méthode MakeTransparent.

Je ne met pas de zip (pas pour ces quelques lignes), je vous laisse donc faire un copier-coller si vous souhaitez tester ce code.

Pour la capture d'écran, je rencontre le probleme suivant: "Le fichier envoyé n'est pas au format JPG
Veuillez réessayer" (alors que bien entendu j'essais d'envoyer un fichier JPEG)

Evitez les commentaires qui ne sont pas "constructifs" merci.

Source / Exemple :


Dim bmpFont As New Bitmap("C:\background.bmp")

Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

  Me.FormBorderStyle = FormBorderStyle.None

  Dim g As New System.Drawing.Bitmap(bmpFont) 'on charge un image
       
        g.MakeTransparent(System.Drawing.Color.Red) 'ici la couleur de l'image a rendre transparente est le rouge
        Me.BackgroundImage = g 'on dessine l'image partiellement transparante sur le form

end sub

Conclusion :


'REMARQUE: Lorsque j'execute ce code, le rouge ne devient pas transparent mais 'noir. Alors j'ai du rajouter dans les propriétés du form :

TransparencyKey = Color.Black 'comme le code peint du noir on declare que 'la couleur a rendre transparente sur le form est le noir .

'Je ne sais pas si c'est un bug, mais mis à part ça le code fonctionne plutot bien, alors j'espere que ce source vous sera profitable.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.