[R] Enregistrer une capture d'écran haute qualité

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Niverton
Niveau 2
Niveau 2
Messages : 21
Enregistré le : dim. 09 janv. 2011 14:05
Status : Hors ligne

[R] Enregistrer une capture d'écran haute qualité

#1

Message par Niverton »

Bonsoir à tous ! Il se fait tard, et après avoir passé ma soirée penché sur ce problème, j'ai décidé de venir demander de l'aide.
Voilà, tout à l'heure m'est venue l'idée de créer un script qui, en faisant un clique droit dans son icône de barre des tâches, enregistre une capture d'écran dans des dossiers prédéfinis (ici le Bureau ou mon dossier Dropbox). Quelques recherches sur internet et dans la doc m'ont amené à la création de ce script, dont je suis assez fier :
► Afficher le texteCapture
En lisant ce script vous pouvez voir que j'ai essayé deux méthodes d'enregistrement de la capture (directement avec _ScreenCapture_Capture, ou en passant par _GDIPlus_ImageSaveToFile), mais voilà qui nous amène à mon problème : la qualité de ces captures n'est vraiment pas terrible ! Il semblerait que la qualité baisse fortement à l'enregistrement, puisqu'en essayant le script d'exemple de la fonction _GDIPlus_ImageSaveToFile, la capture d'écran garde sa résolution à l'affichage.
Voilà, vous savez tout de mon problème ! Je n'ai pas réussi à trouver de solution sur internet, et je trouve bien vexant de ne pas réussir à sauvegarder une capture d'écran correctement, alors que Paint le fait très bien...
C'est sur ces dernières paroles que je vous quitte, bonne nuit, en espérant qu'elle me porte conseil, et en attendant l'aide de l'un d'entre vous.
Modifié en dernier par Niverton le sam. 29 juin 2013 13:25, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Enregistrer une capture d'écran haute qualité

#2

Message par jguinch »

Tu peux éventuellement regarder du côté de _ScreenCapture_SetJPGQuality, mais j'y crois pas trop...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Enregistrer une capture d'écran haute qualité

#3

Message par mikell »

► Afficher le texte
La qualité augmente mais la taille des fichiers aussi ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Niverton
Niveau 2
Niveau 2
Messages : 21
Enregistré le : dim. 09 janv. 2011 14:05
Status : Hors ligne

Re: [..] Enregistrer une capture d'écran haute qualité

#4

Message par Niverton »

Merci pour vos réponses !
jguinch a écrit :Tu peux éventuellement regarder du côté de _ScreenCapture_SetJPGQuality, mais j'y crois pas trop...
J'avais tenté de manière désespérée hier, malheureusement il n'y a pas de changement, d'après la doc la qualité par défaut est la qualité maximum :/
mikell a écrit :
► Afficher le texte
La qualité augmente mais la taille des fichiers aussi ^^
J'ai tenté ton scrip, et j'ai comparé deux images prises avec ton script et le mien, et la différence n'est pas flagrante :/
On obtient la même qualité visiblement, ce qui change, c'est un ko de plus sur la capture de ton script... Cependant, je suis maintenant persuadé que la solution se cache dans le format d'enregistrement, ce qui nous amène à un autre problème: je n'y connais absolument rien en format ! En attendant votre aide, je vais plancher sur un moyen de récupérer le lien public de l'image que j'enregistre sur Dropbox automatiquement.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Enregistrer une capture d'écran haute qualité

#5

Message par TT22 »

Sinon tu peux enregistrer l'image au format BMP et donc sans perte de qualité :
► Afficher le texte
Cordialement,
TT22
Avatar du membre
Niverton
Niveau 2
Niveau 2
Messages : 21
Enregistré le : dim. 09 janv. 2011 14:05
Status : Hors ligne

Re: [..] Enregistrer une capture d'écran haute qualité

#6

Message par Niverton »

TT22 a écrit :Sinon tu peux enregistrer l'image au format BMP et donc sans perte de qualité :
► Afficher le texte
Wow, effectivement ! Je ne sais pas pourquoi je n'ai pas déjà essayé ^^'
Merci beaucoup, on obtient une qualité bien meilleure qu'avec les autres méthodes je trouve. Problème résolu :)

EDIT: J'ai encore un peu travaillé mon script, et n'ayant pas pu trouver de fonction pour masquer le curseur, sans utiliser de pratiques barbares (changer le curseur pour un curseur transparent, puis remettre l'ancien), le script va cacher la souris dans un coin tranquille, attendre un peu que le menu contextuel disparaisse, et prendre la capture.
Fichiers joints
Capture.au3
(1.97 Kio) Téléchargé 93 fois
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [R] Enregistrer une capture d'écran haute qualité

#7

Message par julie »

salut j'ai la solution pour ton soucis de souris a masquer ;)

Opt("MouseCoordMode", 2); en entete

puis la ou ca te chante

_SetCursorState(0) ; 1 on peut voir la souris 0 on ne la voit plus
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [R] Enregistrer une capture d'écran haute qualité

#8

Message par matwachich »

RTFM :P

Code : Tout sélectionner

_ScreenCapture_Capture([$sFileName = "" [, $iLeft = 0 [, $iTop = 0 [, $iRight = -1 [, $iBottom = -1 [, [b][u]$fCursor = True[/u][/b]]]]]]])
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Niverton
Niveau 2
Niveau 2
Messages : 21
Enregistré le : dim. 09 janv. 2011 14:05
Status : Hors ligne

Re: [R] Enregistrer une capture d'écran haute qualité

#9

Message par Niverton »

matwachich a écrit :RTFM :P

Code : Tout sélectionner

_ScreenCapture_Capture([$sFileName = "" [, $iLeft = 0 [, $iTop = 0 [, $iRight = -1 [, $iBottom = -1 [, [b][u]$fCursor = True[/u][/b]]]]]]])
Ahah, je l'avais pas vu celle là x)
Merci, c'est plus propre comme ça
Répondre