Comment est-ce que je dessine un bitmap à un CC, en le tournant d'un angle spécifié?Comment puis-je dessiner un bitmap pivoté dans wxPython?
Répondre
Je suis d'accord avec Al - il mérite la réponse, mais ce fragment de code (il est vrai non testé) devrait faire ce que vous avez demandé:
def write_bmp_to_dc_rotated(dc, bitmap, angle):
'''
Rotate a bitmap and write it to the supplied device context.
'''
img = bitmap.ConvertToImage()
img_centre = wx.Point(img.GetWidth()/2, img.GetHeight()/2)
img = img.Rotate(angle, img_centre)
dc.WriteBitmap(img.ConvertToBitmap(), 0, 0)
Une chose à noter que de the docs:
... en utilisant wxImage est le moyen préféré pour charger des images dans wxWidgets, à l'exception des ressources ...
Y at-il un particulier raison de le charger comme un bitmap plutôt qu'un wx.Image?
Je ne suis pas sûr que ce soit la meilleure façon de le faire, mais une option serait de le convertir en un wx.Image avec ConvertToImage (wxWidgets help), puis utilisez la fonction rotate (wxWidgets help). Vous pouvez ensuite (si nécessaire) le convertir avec ConvertToBitmap (wxWidgets help).
Je ne pouvais pas voir une fonction évidente qui pourrait être utilisée pour appliquer un coordinate transform au contexte de dessin (DC), mais il peut y avoir un là quelque part ...
espoir qui aide.
Une meilleure façon serait d'utiliser le contexte graphique si vous voulez une rotation générique, par ex. Rotation bitmap ou texte ou tout autre chemin de dessin
gc = wx.GCDC(dc)
gc.Rotate(angle)
gc.DrawText("anurag", 100, 100)
Cela semblait prometteur, mais GCDC ne semble pas avoir une méthode 'Rotate'! –
quelle version et quelle plate-forme utilisez-vous? wxPython doc dit qu'il a Rotation et je l'utilise fortement http://www.wxpython.org/docs/api/wx.GraphicsContext-class.html#Rotate –
Je suis confus. Check this out: http://www.wxpython.org/docs/api/wx.GCDC-class.html Quel est le lien entre GraphicsContext et GCDC? –
- 1. Dessiner un rectangle pivoté
- 2. Comment dessiner un bitmap avec 50% d'opacité?
- 3. Comment dessiner des bordures de cellules dans un FlexGridSizer wxPython?
- 4. Comment dessiner un bitmap ARGB en utilisant GDI +?
- 5. Comment puis-je dessiner un contenu de fenêtre dans un bitmap (en utilisant Win32 C++)
- 6. wxPython: Problèmes de chemin lors de l'exportation d'un bitmap
- 7. Comment calculer un point sur un axe pivoté?
- 8. wxPython: Dessiner une image vectorielle à partir du fichier
- 9. Comment puis-je modifier un bitmap et l'utiliser plus tard sans stocker ou dessiner
- 10. Comment dessiner du texte RTL (arabe) sur un bitmap et le faire commander correctement?
- 11. Comment dessiner un bitmap réel rapide en python en utilisant Tk seulement?
- 12. Comment créer un effet de survol sur StaticBitmap dans wxpython?
- 13. Dessiner sur un objet graphique GDI + un bitmap utilisant StretchDIBits pour la mise à l'échelle
- 14. "Coloriser" un bitmap dans .NET
- 15. (C#) Comment dessiner un « un » avec Tahoma hauteur = 6
- 16. Comment dessiner un Piechart dans l'iPhone
- 17. Générer un CommandEvent personnalisé dans wxPython
- 18. Comment peindre un bitmap avec perspective?
- 19. Boutons brillants dans wxPython?
- 20. Affichage d'entiers dans un listxtrx wxpython
- 21. wxPython: comment rechercher du texte dans un TextCtrl?
- 22. Comment puis-je insérer RTF dans un wxpython RichTextCtrl?
- 23. Dessiner des graphiques dans VBScript
- 24. Bitmap et coordonnées géographiques
- 25. convertir graphique Bitmap
- 26. Comment dessiner un NSString à un angle?
- 27. Comment puis-je dessiner un ComboBox personnalisé dans un DataGridViewCell?
- 28. Comment référencer un bitmap sur la scène dans actionscript?
- 29. Gestion des événements dans wxPython
- 30. Copier un bitmap sur une plus grande Bitmap en utilisant sans utiliser Graphics.DrawImage
J'ai besoin de dessiner à l'écran, et le document wx.Image dit que je vais devoir le convertir en bitmap avant que je puisse le dessiner. –
Après un peu de réparation, votre code a fonctionné. –
Pouvez-vous publier le résultat fixe vous-même ou suggérer ce que vous avez fait pour corriger ce qui précède pour améliorer l'exemple? –