Voir une image avec une rotation des canaux RVB

Soyez le premier à donner votre avis sur cette source.

Vue 4 480 fois - Téléchargée 1 118 fois

Description

Voir une image est une mini-application d'ouverture et de visualisation d'image bitmap.

Dans cette version, 5 effets spécifiques permettent différentes applications à l'image ainsi considérée.

De plus, la version d'aujourd'hui incorpore des filtres en couleurs.

Permet aussi de recevoir les fichiers glissé-déposé (drag'n'drop en anglais) jpeg et bmp.

Agir avec la molette de la souris après avoir ouvert une image pour ajuster l'image sur votre écran.

Se compile avec Delphi Xe8 en 64 Bits mais peut-être aussi d'autre version Xe.

Cette version incorpore la possibilité d'effectuer un flou Gaussien.

Dans cette version les raccourcis clavier sont aussi implémentés.

Cette autre version intègre aussi trois rotations circulaires, à droite ou à gauche (dans le sens horaire ou anti-horaire) ou à 180° dans le menu effets.

Dans cette nouvelle version, il est possible d'effectuer une séparation quadrichromique de quatre films cyan, magenta, jaune et noir que les imprimeurs appelle CMJN. Utiliser (ces fonctions) avec la touche Ctrl vous obtiendrez l'opposé de ce calcul.

Les touches du clavier ':' et '!' permetent d'orienter l'image au degré près, conjuger avec la touche Majuscule alors cette rotation s'effectue par pas de 0.25 degrés.

Un nouveau menu option, dispose de quatre options que je vous laisse découvrir, mais l'une d'entre elle affiche un réticule, une autre une grille de repére ou un rectangle d'encadrement.

Et encore la fonction qui permet de diviser une images pixelisée au quart de sa résolution avec un anti-aliasing.

Dans cette nouvelle version, si la molette de la souris est utilisée conjointement avec la touche Ctrl, alors l'image visualisée tourne sur elle même par pas de 5° d'angle dans un sens ou d'en l'autre. Avec la touche majuscule la rotation s'effectue par pas de 1°.

Mode d'application des dégradés, cliquer alternativement sur une couleur de la palette chrominance avec le bouton gauche puis avec le bouton droit pour déterminer deux couleurs, et choisisez dans le menu effets l'un des trois dégradés horizontal, vertical ou circulaire. Utilisée avec les touches Majuscule ou Ctrl, le dégradé change en fonction de la teinte lumière et saturation.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
34 -
Bonjour,

en premier je te dis merci d'avoir fait l'effort de poster un code complet et utilisable par la communauté.

J'ai donc, de mon coté, aussi fait l'effort de regarder ton code de plus près et je me suis cantonné à la "traque" et au "colmatage" des fuites de mémoire.

Comme les explications seraient trop longue pour les détailler ici j'ai mis à jour le zip et le tout se trouve dans un répertoire à part. Tu y trouveras aussi un fichier txt avec les modifications apportées mais comme tu as mis à jour ton code entre le début de mes investigations et aujourd'hui les dernières modifications n'y sont pas répertoriées.

Mais elles sont toutes "taguées" dans le code par un :
      // ******** Cirec Modif 24/03/2018 ********************


L'image a également été mise à jour
cette emplacement doit servir à illustrer le dépôt et rien d'autre.

et pour finir, comme les 4 derniers dépôts ne sont qu'une succession de mise à jour du même programme j'ai supprimé les 3 premiers.

Maintenant que la mise à jour du code est à nouveau opérationnel il serait bien d'en tenir compte.

Merci encore pour ce partage.

Cordialement,
@+
denisbertin
Messages postés
197
Date d'inscription
lundi 22 avril 2013
Statut
Membre
Dernière intervention
27 septembre 2019
1 -
Merci pour le compliment mais ou est exactement la "charte" d'utilisation?
Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
34 -
Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
34 -
je me suis fatigué à trouver et corriger un bon nombre de fuites de mémoires et là je constate que tu as fait une mise à jour sans tenir compte de mes corrections. Elles ont totalement disparue du Zip !!!

Quel est le message que tu souhaites faire passer ?
Les fuites de mémoires sont nombreuses et pour t'en rendre compte il te suffit d'ajouter ceci au début de ton DPR
begin
{$IF CompilerVersion >= 17.00}
  ReportMemoryLeaksOnShutDown := True;
{$IFEND}
  Application.Initialize;
  ...

ensuite tu manipules une image
tu lui appliques rotations et filtres plusieurs fois et tu fermes ton application.
Tu verras une MessageBox avec le détail des fuites.

Tout ceci est perdu à chaque fois et plus tu appliques de filtres et rotations plus les fuites augmentes.

Même sans manipulation d'image tu obtiens déjà des fuites le simple fait de démarrer et refermer l'application occasionne déjà une série de fuites.

Conclusion:
Si déjà tu souhaites gérer les fenêtres et messages toi même fait le correctement jusqu'au bout en pensant que tout ce que tu crées doit être libéré soit après utilisation ou avant de quitter l'application.
Mais on peut pas laisser la mémoire d'un ordinateur dans cet état !!!


Cordialement,
@+
Trop de problème dans le code
pour chaque effet plusieurs chargement du meme image
cirec araison tros de fuites
domage

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.