Rotation image en angle réel
Une fois, la lecture cette question, je me demandais comment faire pivoter une image en toute degré sans bidouiller avec tous les bits à moi-même. Récemment, quelqu'un d'autre avait des difficultés évidentes avec elle aussi.
Il y a déjà de nombreuses questions relatives à la rotation à 90°, la plupart des notabaly cette une, mais je veux faire tourner par un angle réel. De préférence avec la possibilité de régler la taille de l'image due à la rotation, et avec le réglage personnalisé (transparent) couleur d'arrière-plan pour les pièces qui seront ajoutés à l'image de la surface. Ensuite, je suppose que la signature de la routine ressemblerait à quelque chose comme:
procedure RotateBitmap(Bmp: TBitmap; Angle: Single; AdjustSize: Boolean;
BackColor: TColor);
Ces réponses mentionner les candidats suivants pour la construction de cette routine: SetWorldTransform, PlgBlt, GDI+, mais je voudrais voir un (bon) la mise en œuvre.
- Vous pouvez utiliser le titre comme faire Pivoter image en angle réel, édition anniversaire 🙂
Vous devez vous connecter pour publier un commentaire.
Si quelqu'un est à la recherche dans la rotation de l'image, ils peuvent également prendre un coup d'oeil à la Mitov vidéo de la bibliothèque (gratuit pour une utilisation non commerciale: lien). VCL et FireMonkey. Il prend soin de tous les détails de bas niveau, ce qui permet d'éviter le genre de détail de codification que NGLN excellente réponse explore.
Nous avons été en utilisant pour les deux dernières années et ont été très heureux avec elle dans notre application.
Il a une rotation du composant qui fonctionne avec des images statiques et les flux vidéo. Leur bibliothèque est entièrement multi-tâches, éventuellement, en utilisant tous les carottes et le faible niveau des primitives disponibles, sur les chipsets Intel Intel propre bibliothèque de performance (http://software.intel.com/en-us/articles/intel-ipp)
Modérée de matériel que nous pouvons exécuter plusieurs vidéo ou bmp cours d'eau qui nous tourner, clip, l'échelle et les processus au niveau du pixel, en temps réel.