J'essaye de créer une fonctionnalité d'annulation à une boîte d'image en sauvant l'image juste avant que la peinture ait lieu dans un tableau ou quelque chose. J'ai essayé avec List mais je reçois la même image tout le temps, avec Image List la taille est trop petite pour mes marsouins. Quelles sont les meilleures pratiques pour sauvegarder des données d'annulation ou comment puis-je stocker des images dans la mémoire juste avant que chaque peinture ait lieu? Je vous remercie !Annuler Annuler les modifications avec la collection d'images
Répondre
Vous devez cloner le contenu de l'image à chaque fois. Je pense que vous ajoutez toujours la référence de l'image à la liste.
Si vous souhaitez obtenir des fonctionnalités d'annulation correctement, jetez un oeil au Command Pattern.
Une autre façon serait de calculer la différence entre l'image originale et l'image après l'opération, puis de stocker la différence pour économiser de la mémoire.
De nombreuses peintures auront lieu sur la même image. Windows déclenche l'événement Paint chaque fois qu'une partie du contrôle doit être repeinte. Comme lorsque vous faites glisser une autre fenêtre sur le PB. Ou minimisez et restaurez le formulaire. En d'autres termes, Paint ne vous dit pas que l'image a changé.
Vous devrez dériver votre propre classe à partir de PictureBox et remplacer la propriété Image. Le setter sera appelé lorsque l'image est modifiée.
La sauvegarde est conditionnée par une valeur bool ainsi elle est faite juste quand il en a besoin. – andySF
- 1. Annuler les modifications des attributs
- 2. Comment annuler les modifications sur JSpinner?
- 3. Annuler ConvertToCapped à une collection
- 4. cfhtmlhead réinitialiser/annuler ou annuler?
- 5. Comment annuler les modifications quand un SaveChanges() échoue?
- 6. Annuler les modifications apportées à l'objet s'il n'est pas valide
- 7. Comment annuler les modifications dans gridview en cas d'entrée incorrecte
- 8. Annuler les modifications apportées à un fichier dans une validation
- 9. Annuler les modifications effectuées par erreur dans Excel 2007
- 10. annuler les événements souris
- 11. Hudson annuler ne pas annuler tous les processus
- 12. Paypal: Annuler ou annuler un paiement
- 13. asp.net - annuler la session
- 14. Annuler dans la sélection?
- 15. Annuler form.submit()
- 16. Annuler backgroundworker
- 17. Comment annuler une opération annuler/rétablir en cours?
- 18. annuler sendSynchronousRequest
- 19. Git: comment "annuler" une fusion
- 20. Comment annuler la liaison ObjectDataSource?
- 21. Annuler la soumission du formulaire
- 22. VBA ontime annuler la planification
- 23. Annuler la publication de contrôle
- 24. Annuler la suppression d'un nœud
- 25. DataTable Annuler la ligne Supprimer
- 26. Annuler événement jQuery manipulation
- 27. Annuler Un WinForm Réduire?
- 28. Annuler l'héritage global css
- 29. Flex Text Control Annuler
- 30. annuler/rétablir l'événement
Merci. J'ai créé une instance d'un bitmap chaque fois que j'ai enregistré et fonctionne très bien. Je vais essayer de trouver une façon plus élégante de le faire et de supprimer les économies restrictives de 5 bitmaps. – andySF