Je dois pouvoir enregistrer une image (le format n'a pas d'importance) de l'état de la toile de contexte de périphérique. J'ai essayé dc.GetAsBitmap
mais il renvoie des bitmaps non valides. Comment puis-je le faire?Sauvegarder une image de ce que dessine un contexte de périphérique, wxPython
4
A
Répondre
4
Je crois que cela devrait faire l'affaire:
def saveSnapshot(dcSource):
# based largely on code posted to wxpython-users by Andrea Gavana 2006-11-08
size = dcSource.Size
# Create a Bitmap that will later on hold the screenshot image
# Note that the Bitmap must have a size big enough to hold the screenshot
# -1 means using the current default colour depth
bmp = wx.EmptyBitmap(size.width, size.height)
# Create a memory DC that will be used for actually taking the screenshot
memDC = wx.MemoryDC()
# Tell the memory DC to use our Bitmap
# all drawing action on the memory DC will go to the Bitmap now
memDC.SelectObject(bmp)
# Blit (in this case copy) the actual screen on the memory DC
# and thus the Bitmap
memDC.Blit(0, # Copy to this X coordinate
0, # Copy to this Y coordinate
size.width, # Copy this width
size.height, # Copy this height
dcSource, # From where do we copy?
0, # What's the X offset in the original DC?
0 # What's the Y offset in the original DC?
)
# Select the Bitmap out of the memory DC by selecting a new
# uninitialized Bitmap
memDC.SelectObject(wx.NullBitmap)
img = bmp.ConvertToImage()
img.SaveFile('saved.png', wx.BITMAP_TYPE_PNG)
(je venais d'inclure un lien vers l'original, mais n'a pas pu le trouver rapidement.)
+0
Merci beaucoup! –
1
Yo peut probablement comprendre quelque chose de this (travailler avec des images et wxPython)
Questions connexes
- 1. Associer System.Drawing.Graphics à un contexte de périphérique?
- 2. Comment obtenir un contexte de périphérique d'imprimante?
- 3. wxPython: centrer une image dans un panneau
- 4. Création d'un périphérique personnalisé pour que Swing/AWT dessine à
- 5. Comment sauvegarder ce que j'ai dessiné dans un CGContext
- 6. Sauvegarder une seule entité au lieu du contexte entier - revisité
- 7. Comment sauvegarder une partie du contexte graphique sans déranger l'utilisateur?
- 8. Est-ce que MySqlDump a un problème pour sauvegarder une grosse base de données?
- 9. Est-ce que sauvegarder un hachage dans une autre pratique courante de hachage?
- 10. wxpython: Comment est-ce que je peux redessiner quelque chose quand une fenêtre est restaurée?
- 11. Comment puis-je déplacer un objet dessiné dans un contexte de périphérique python
- 12. dessine un graphe de dépendances pour une classe java
- 13. Sortie audio (ce que j'entends) à un périphérique UPnP
- 14. Quel contexte est-ce que j'utilise pour un nouveau dialogue?
- 15. Qu'est-ce que 'Contexte' dans android?
- 16. Javascript dessine une ligne dynamique
- 17. WPF: Dessine une grille sur un canevas?
- 18. Dessine un arrière-plan de vue personnalisée
- 19. Qu'est-ce qu'un périphérique de capture WDM et un périphérique de capture VFW hérité?
- 20. Comment sauvegarder une image bitmap, représentée par un CGContextRef, sur le disque dur de l'iPhone?
- 21. Est-ce que wx.richtext est supporté dans wxpython 2.8?
- 22. Dessine une image de texte sans besoin de recadrage par PIL
- 23. En utilisant Java, quel est le meilleur moyen de sauvegarder une image dans un fichier?
- 24. Est-ce que strokeRect: of NSBezierPath dessine toujours un rect transparent? (Cocoa OSX)
- 25. Comment redimensionner et dessiner une image en utilisant wxpython?
- 26. wxPython: Dessiner une image vectorielle à partir du fichier
- 27. Affichage d'une image .png dans une fenêtre dans wxPython
- 28. montrant une image jusqu'à ce que le contenu soit chargé
- 29. Installation de Windows CE sur un périphérique embarqué x86
- 30. Comment convertir un objet [] en image dans une application de périphérique intelligent (C#)?
Voir aussi terabytest question similaire: http://stackoverflow.com/questions/2188331/wxpython-dc-getasbitmap-returns-an-invalid-bitmap –