Rotation image avec gdi+ (exemples et questions)

Soyez le premier à donner votre avis sur cette source.

Vue 11 798 fois - Téléchargée 1 610 fois

Description

Quelques humbles exemples à partir du source de Renfield que j'espère n'avoir pas trop massacré, pour partager avis et commentaires.
Merci d'avance

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
492
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
2 juillet 2012
2
Re,
Pas de réponse !! donc je m'y suis remis et finalement cela n'a pas été difficile.
A toutes fins utiles.. la fonction qui calcul le rectangle pour inscrire l'image.
w = la largeur de l'image et h la hauteur.
Private Type LaHa
L As Integer
H As Integer
End Type
Dim Retour As LaHa

Sub Rapport(ByVal w As Long, ByVal H As Long, Angle As Single)
Dim nAngle As Single
Dim rAngle As Single
Const Pi = 3.141593
Const Rad = Pi / 180
'Réduit l'angle à 90° si plus grand
If Angle = 360 Then
nAngle = 0
ElseIf Angle > 179 And Angle < 270 Then
nAngle = 90 - (270 - Angle)
Else
nAngle = IIf(Angle < 91, Angle, 90 - (Angle - (Int(Angle / 90) * 90)))
End If
'Traduit degrés en radiant
rAngle = Rad * nAngle
'retourne la largeur à donner au conteneur
Retour.L = Arrondi(((w * Cos(rAngle)) + (H * Sin(rAngle))), 0)
'retourne la hauteur à donner au conteneur
Retour.H = Arrondi(((H * Cos(rAngle)) + (w * Sin(rAngle))), 0)
End Sub

Public Function Arrondi(ByVal Nombre, ByVal Decimales)
Arrondi = Int(Nombre * 10 ^ Decimales + 1 / 2) / 10 ^ Decimales
End Function
A+
Messages postés
492
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
2 juillet 2012
2
Bonjour tous,
> Mistern : voir ce snippet http://www.codyx.org/snippet_conversion-images-bmp-jpg-png-avec-gdi_160.aspx
> misterN : tu écrit, au début de ta modif..
'-- pour information un peu de trigo basique...
N'y aurait-il pas moyen de supprimer le "basique...", je m'explique, dans ton approche le calcul se fait pour avoir la possibilité d'inscrire l'image dans le "Gabarit" quel que soit l'angle de rotation.
J'ai étudié la trigono mais il y a tellement longtemps et je ne retrouve plus mes bouquins et j'aimerais faire en sorte que...
En un : l'image s'inscrire entièrement (le plus grand possible) dans le gabarit.
En deux : le gabarit s'adapterait à l'image en modifiant soit la hauteur soit la largeur pour qu'en finale les 4 coins de l'image touche les 4 côtés du gabarit.
Je sais qu'il faut employer Sinus et Cosinus mais je ne sais plus comment.
A l'occasion.. !
Merci d'avance.
A+
(10)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
yep, GDI+ permet ces sauvegardes
Messages postés
40
Date d'inscription
samedi 21 août 2004
Statut
Membre
Dernière intervention
14 décembre 2012

Et si maintenant je veux enregistrer que l'image avec fond transparent en gif ou png est-ce que gdi me le permet? ou doit-on utiliser une autre procédure? Merci pour l'effort.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
inutile de mettre

|Jpg|*.JPG|Ico|*.ICO

dans le filtre.

SavePicture enregistrera un BMP quoi qu'il arrive (quelque soit l'extension spécifiée)
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.