Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| comment lancer la visionneuse photo? | |
| | Auteur | Message |
---|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: comment lancer la visionneuse photo? Sam 14 Juil 2012 - 20:18 | |
| Bonjour à tous J'ai 2 problèmes: 1°) Quelqu'un saurait-il comment faire pour lancer avec la commande execute_wait la visionneuse photo de window 7 qui se trouve dans le dossier : C:\Program Files (x86)\Windows Photo Viewer Le problème, c'est que le programme est une dll et s'appelle PhotoViewer.dll D'après ce que j'ai pu trouver sur internet on pourrait le lancer en ligne de commande comme ceci: %SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen image.jpg 2°) Comment connaître la taille en pixel d'un fichier jpg Je voudrais afficher un fichier jpg dans un picture dimensionné à la taille de l'image. Merci à tous pour vos réponses. A+ | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment lancer la visionneuse photo? Sam 14 Juil 2012 - 20:58 | |
| Par définition, une DLL est un complément binaire à un programme exécutable. Ce n'est pas un exécutable indépendant. Il y a certainement un excutable xxx.EXE qui de son côté, utilise PhotoViewer.dll. Tu ne peux certainement pas lancer la DLL directement. Essaie de double-cliquer dessus - tu verras bien le résultat... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: comment lancer la visionneuse photo? Sam 14 Juil 2012 - 21:04 | |
| Bonsoir bignono, Concernant les dimensions d'un jpg, je m'y suis essayé (en Panoramic), mais il y a toujours un cas particulier où on se casse les dents. Il me semble que Nardo avait fait une dll pour ça, à voir. Personnellement je me sers de IrfanView, qui peut être appelé en ligne de commande de manière transparente depuis un programme Panoramic.
PS effectivement, ta ligne de commande fonctionne pour visionner une image ! Ca marche en ligne de commande, mais ça ne marche pas en EXECUTE_WAIT, il demande un programme associé à cette dll comme le dit Klaus. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment lancer la visionneuse photo? Sam 14 Juil 2012 - 21:46 | |
| Si vraiment la commande - Citation :
- %SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen image.jpg
fait ce que tu veux, tu devrais pouvoir faire ceci: - Code:
-
dim prog$ prog$ = "%SystemRoot%\System32\rundll32.exe " + chr$(34) prog$ = prog$ + "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll" + chr$(34) prog$ = prog$ + ", ImageView_Fullscreen image.jpg" execute_wait prog$
en faisant attention aux espaces qui doivent rester là où ils sont. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: comment lancer la visionneuse photo? Sam 14 Juil 2012 - 22:13 | |
| Merci à toi Klaus , Je met ici le bon code pour que tout le monde voit comment faire pour ouvrir une image avec execute_wait ou execute, chacun adaptera les chemins: - Code:
-
dim prog$ prog$ = "c:\windows\System32\rundll32.exe " + chr$(34) prog$ = prog$ + "c:\Program Files (x86)\Windows Photo Viewer\PhotoViewer.dll" + chr$(34) prog$ = prog$ + ", ImageView_Fullscreen c:\mesprog\gen\ajtf.jpg" execute_wait prog$ Par contre, je me demandais pour mon second problème de trouver les dimensions en pixel d'un jpg pour le mettre dans un picture de même taille, si on ne pouvait pas récupérer les informations de sa dimension en les extrayant des propriétés du fichier. Dans un dossier quand on clique droit sur un fichier image jpg et qu'on sélectionne propriétés tout en bas de la liste, un programme dont j'ignore le nom et l'emplacement, se lance et affiche toutes les informations du fichier jpg. Ce qui m'intéresse ce sont les renseignements dans l'onglet détails qui compote la taille de l'image. Si on pouvait les récupérer dans un fichier txt il serait facile de les lire. A+ | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment lancer la visionneuse photo? Sam 14 Juil 2012 - 22:22 | |
| J'ai une DLL qui fait ça très bien. Comme son nom ne l'indique pas, c'est PrintScreen.dll ! Elle contient les fonctions suivantes: - Code:
-
i% = dll_call1("ScreenCopy",x%) : ' x%=0--> tout l'écran x%=1--> la fenêtre active i% = dll_call0("Rotate90") : ' rotation de l'image interne de 90 degrés i% = dll_call0("RotateM90") : ' rotation de l'image interne de -90 degrés i% = dll_call0("Rotate180") : ' rotation de l'image interne de 180 degrés i% = dll_call0("LoadPicture") : ' charger l'image du presse-papier dans l'image interne i% = dll_call0("SavePicture") : recopier l'image interne dans le presse-papier i% = dll_call6("ModifyPicture,x%,y%,T%,R%,G%,B%) : incruster l'image du presse-papier dans l'image interne ' à partir de (x%,y%) avec la couleur de transparence R%,G%,B% ' T% est le taux de transparence de l'image dans le presse-papier (0-100) i% = dll_call2("ResizePicture,h%,w%) : redimensionner l'image du presse-papier à largeur w%, hauteur h% ' comme s'il y avait un STRETCH_ON sur le presse-papier i% = dll_call0("GetPictureHeight") : ' retourner la hauteur de l'image interne i% = dll_call0("GetPictureWidth") : ' retourner la largeur de l'image interne i% = dll_call0("GetClipboardPictureWidth") : ' retourner la largeureur de l'image dans le presse-papier i% = dll_call0("GetClipboardPictureHeight") : ' retourner la hauteur de l'image dans le presse-papier i% = dll_call3("SetPictureFilter",R%,G%,W%) : ' appliquer des filtres couleur sur l'image interne ' une valeur de -1 signifie "inchangé" i% = dll_call0("SetPictureGrayScale") : ' transformer une image en niveaux de gris i% = dll_call1("SetPictureBrightness",d%) : ' ajuster la brillancede +/- d% (-255...+255) i% = dll_call1("SetPictureGamma",g%) : ' ajuster le Gamma 0:plus foncé <>0:plus clair i% = dll_call4("CreatePictureGradientColor",adr(start$,adr(adresse$),adr(couleur_debut$),adr(couleur_fin$)) ' remplir l'image interne par un dégradé entre les couleurs début et fin ' start$ donne le type de dégradé: ' L[ine] = dégradé par lignes C[olonne] = dégradé en colonnes ' P[oint] = dégradé à partir d'un point R[onds] = dégradé en ronds (cercle) autour d'un point ' B[ulles] = bulles dégradées autour d'un point ' adresse$ = numéro de départ (ligne, colonne ou coordonnées x,y d'un point) ' couleur_debut$, couleur_fin$ = valeurs R,G,B de la couleur i% = dll_call1("SetImmediateMode",m%) : ' si m%>0: mettre systématiquement le presse-papier à jour Le plus simple, c'est de copier l'image dans le presse-papier avec CLIPBOARD_COPY qui s'applique maintenant aussi à un PICTURE ou un IMAGE. Puis, tu utilises GetClipboardPictureWidth et GetClipboardPictureHeight pour avoir tes valeurs. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: comment lancer la visionneuse photo? Sam 14 Juil 2012 - 23:14 | |
| Klaus, je te remercie grandement. Tu m'as donné la solution à mes 2 problèmes. Je met une fois encore le code avec ta dll printscreen.dll qui permet d'avoir les dimensions d'un jpg et de mettre le picture à la taille de l'image. Je n'ai pas essayé pour les très grandes images, mais je suppose que ça doit fonctionner! bien sur il faut adapter le chemin. - Code:
-
dim dll$:dll$="PrintScreen.dll" dim rep$:rep$="c:\mesprog\gen\" dim f$,w%,h% color 0,0,0,0:full_space 0 picture 5:hide 5 dir_change rep$ dll_on rep$+dll$ open_dialog 10:filter 10,"Fichier image|*.jpg" f$=file_name$(10) if f$<>"_" then file_load 5,f$ clipboard_copy 5 w%=dll_call0("GetClipboardPictureWidth") h%=dll_call0("GetClipboardPictureHeight") dll_off width 5,w%:height 5,h% show 5 Merci encore, A+! | |
| | | maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: comment lancer la visionneuse photo? Dim 15 Juil 2012 - 8:02 | |
| Bonjour
quelques questions de débutant...
Ces fameuses DLL
- où les trouve-t-on ? sur le site de Klauss ? - une fois téléchargées on les installe où ? - ai-je loupé une marche ou existe-t-il une procédure écrite ?
bonne journée. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: comment lancer la visionneuse photo? Dim 15 Juil 2012 - 9:37 | |
| Mes DLLs sont accessibles sur mon site accessible par ce lien ou alors sur mon WebDav: Modalités d'accès: Site: http://www.mydrive.ch/Identifiant: panoramic@klausgunther Mot de passe: panoramic123 Là, il y a plusieurs dossiers, et en particulier un dossier nommé DLLs qui les contient toutes. Il y a également des fichiers KGF.rtf et Autres_DLL.rtf qui contiennent la documentation nécessaire. Dans la plupart des cas, il y a des programmes de démo ou de test associés aux DLLs. C'est le cas, par exemple, du dossier MouseOperations qui contient la DLL et un programme de test. Il y a sur le forum toute une série de tutos et explications pour l'usage des DLLs, faits par Jack, Jean Debord, Nardo26, moi-même etc. Maintenant, si tu as des questions plus spécifiques, nous sommes à ta disposition pour y répondre. | |
| | | maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: comment lancer la visionneuse photo? Dim 15 Juil 2012 - 10:11 | |
| Merci
Je vais aller voir cela. | |
| | | Contenu sponsorisé
| Sujet: Re: comment lancer la visionneuse photo? | |
| |
| | | | comment lancer la visionneuse photo? | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |