Resize de pics avec mspaint

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 829 fois - Téléchargée 58 fois

Contenu du snippet

Voici un code pour ceux qui n'ont que le malheureux Paint pour le graphisme de leur site (comme moi) et qui ne veulent pas s'enquiquiner à faire des miniatures de leurs images à la main.
Vous devez attendre la fin du process avant de faire autre chose, car le programme simule une frappe au clavier dans la fenêtre active.

Ce petit Vbscript permet de refaire automatiquement ce que vous feriez manuellement

Source / Exemple :


' collez ca dans notepad et enregistrez le en .vbs

	dim l_fso
	dim l_Wsh
	dim l_path
	dim l_file
	
	set l_fso = CreateObject("Scripting.FileSystemObject")
	set l_Wsh = CreateObject("Wscript.Shell")
	
	l_path = inputbox ("Please enter the path of the pics you wish to resize")
	if l_fso.FolderExists(l_path) then
		l_Wsh.Run "Mspaint"
		Wscript.sleep 1000
		l_fso.CreateFolder l_path & "\thumbs"
		for each l_file in l_fso.GetFolder(l_path).Files
			call ResizeProcess(l_file.path)
		next
		msgbox "Completed"
	else
		msgbox "Path not found"
	end if
	
sub ResizeProcess(p_filePath)
	l_Wsh.SendKeys chr(15)
	l_Wsh.SendKeys p_filePath
	l_Wsh.SendKeys chr(13)
	l_Wsh.SendKeys chr(23)
	l_Wsh.SendKeys chr(49)
	l_Wsh.SendKeys chr(48)
	l_Wsh.SendKeys chr(9)
	l_Wsh.SendKeys chr(49)
	l_Wsh.SendKeys chr(48)
	l_Wsh.SendKeys chr(13)
	l_Wsh.SendKeys chr(19)
	l_Wsh.SendKeys Replace(p_filePath, l_fso.GetFileName(p_filePath), "thumbs\" & l_fso.GetFileName(p_filePath))
	l_Wsh.SendKeys chr(13)
	wscript.sleep 2000	
end sub

Conclusion :


Pour une exécution plus rapide, réduisez la valeur de Wscript.sleep. Les images réduites sont dans le sous-répertoire "thumbs" du chemin d'origine.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
105
Date d'inscription
lundi 9 avril 2001
Statut
Membre
Dernière intervention
16 juillet 2008

Bonjour à tous

Je reviens faire un petit tour sur ma source qui date d'il y a plus de 8 ans maintenant wow comme le temps passe O_ô

Pour ceux qui voudraient savoir comment déterminer la taille de l'image, tout se situe dans les sendKeys 49 48 (ça envoie 1 et 0 soit 10)

Si vous voulez par exemple une miniature de 20 il faudrait envoyer 50 et 48 soit :

l_Wsh.SendKeys chr(50)
l_Wsh.SendKeys chr(48)

Je mettrais peut-être la source à jour pour que le programme demande à l'utilisateur la taille finale. En attendant vous pouvez modifier cela comme cela.

Regardez sur une table ascii pour les codes décimaux correspondant aux données que vous voulez envoyer par le sendkey.
Messages postés
28
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
27 juillet 2011

Reponse à Prog1001 : Effectivement, je pense que ce jour là tu as un peu dérapé ... un jour de colère ?

Je connais XnView mais l'objectif est bien de trouver ici un code source en VB pour faire ce genre de manipulation sur les fichiers images (c'est bien l'objectif de ce site ?).

Donc, à moins que tu ais chopé les sources de XnView et que celui ci a été developpé en VB ... alors là, ça m'intéresse ! mais permet moi d'en douter fortement ...

Je ré-itère donc ma question (le débat n'ayant pas avancé ...) : As t-on la possibilité de determiner la taille de l'image avec ce source ? Merci.
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

"moi je trouve que ça pue, y'a des moyens bien plus efficace et moins chaint et surtout plus rapide que de faire cte merde la :|"

Désolé pour ces propos déplacés, j'était jeune et con à cette époque là !
sinon je vous conseille xnview : logiciel très bon pour le traitement d'images par lot.
Messages postés
28
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
27 juillet 2011

As t-on la possibilité de determiner la taille de l'image ? Merci.
Messages postés
68
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
Dernière intervention
10 septembre 2010

LA source que je cherchais depuis tant de temps !!!!

MERCI INFINIMENT !!!!!
Afficher les 16 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.