8
votes

Effacer l'image dans une boîte à images

J'ai un formulaire avec une boîte à images qui permettra de dessiner une image de main libre.

J'ai ajouté l'initialisation de l'image dans le Form_Load et l'événement Cliquez sur le bouton Effacer. Lorsque je clique sur le bouton Effacer, l'image est effacée et à l'écran de la souris sur la boîte à lettres, la dernière image à la retraite sera affichée.

Ma question est, comment puis-je valider la photeure si elle est vide ou non? Juste que je ne veux pas permettre de sauvegarder une image vide.


3 commentaires

J'ai ajouté l'initialisation de l'image dans la form_load et l'événement de clic de la touche Effacer.Mais lorsque je clique sur le bouton Effacer, l'image sera effacée et à la souris déplacée sur la boîte à oreilles, la dernière image étirée sera shawn .Si vous pouvez s'il vous plaît aider. moi, et comment puis-je valider la boîte à papier est vide signifie que je ne veux pas permettre d'enregistrer une image vide. Merci de vous


Comment effacer l'image? montrer du code s'il vous plaît.


en form_load Picturebox1.Image = Nouveau bitmap (picurebox1.clientsize.width, imagesbox1.Clientsize.he oight in the clearbutton_click imagesbox1.Image = Rien


6 Réponses :


13
votes
PictureBox1.Image = Nothing

3 commentaires

J'ai déjà utilisé ce code .Mais il y a un problème que lorsque je clique sur le ClearButton, l'image sera effacée. Mais la souris sur la photo sur la carte Image Dernière image apparaîtra.


Puis-je voir le code de l'événement de Mousehover? Vous pouvez également ajouter / supprimer le gestionnaire d'événements de manière programmatique. SupprimerHandler Imagesbox1.mouseHover, adresse de Picturebox1_MouseHover


"J'utilise ce code dans la piicturebox1_paint myusercolor = (sysytem.drawing.color.black) myalpha = 100 Utilisation de g comme graphique = graphique.fromImage (imagesbox1.Image) g.clear (couleur.white) Dim Courrovient en tant qu'objet = nouveau stylo (couleur.fromargb (myalpha, myusercolor), mypenwidth) G.Drawpath (Cycl-cenden, stylo), Mousepath) Entrée à l'aide de «Utilisation dans la form_load Picturebox1.Image = Nouveau bitmap (.....) 'dans le ClearButton_Click Picturebox1 .Image = rien



1
votes

c # Bool ClearImage; ClearButton_Click (...) { ClearImage = vrai; img.invalidate (); } xxx

vb.net xxx


3 commentaires

Déclarez un ClearImage Bool sous la forme. Ensuite, double-cliquez sur le bouton pour obtenir l'événement _Cliquez et ajoutez le code que j'ai écrit dans l'événement. Cliquez sur l'image et trouvez l'événement de peinture et ajoutez le code dans l'événement de peinture?


non ceci est c # code attendre 2 secondes et ill Modifier-le et ajouter le code vb.net


que toi



0
votes

Il peut y avoir une erreur logique dans votre code. Vérifiez l'événement MouseMove ou Mousehover et assurez-vous qu'il n'attribue pas une image à la photeurebox.

au lieu de ne rien attribuer à la nouvelle image avec le bouton, vous pouvez effacer l'image existante. Cela pourrait être meilleur parce que vous n'aurez pas à créer une nouvelle image avant de pouvoir le dessiner à nouveau. P>

g = Graphics.FromImage(PictureBox1.Image)
g.Clear(PictureBox1.BackColor)


1 commentaires

"J'utilise ce code dans la piicturebox1_paint myusercolor = (sysytem.drawing.color.black) myalpha = 100 Utilisation de g comme graphique = graphique.fromImage (imagesbox1.Image) g.clear (couleur.white) Dim Courrovient en tant qu'objet = nouveau stylo (couleur.fromargb (myalpha, myusercolor), mypenwidth) G.Drawpath (Cycl-cenden, stylo), Mousepath) Entrée à l'aide de «Utilisation dans la form_load Picturebox1.Image = Nouveau bitmap (.....) 'dans le ClearButton_Click Picturebox1 .Image = rien



6
votes
Private Sub ClearPictureBox(pb As PictureBox)
    pb.Image = Nothing
    pb.BackColor = Color.Empty
    pb.Invalidate()
End Sub

1 commentaires

Merci, cela a aidé.



1
votes

Si vous devez réinitialiser votre image dans Imagebox, vous pouvez effectuer ce code (en C #)

  private void  your_name_picturebox_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        your_name_picturebox.Image=null;
     }


0 commentaires

0
votes

Je viens d'attirer un rectangle vierge rempli pour couvrir l'image au début du code xxx


0 commentaires