Belle image, en effet.
Et joli début de pastélisation (notamment en ce qui concerne le ciel et l'eau) ===>> allez : pousse encore un peu et nous n'y verrons que 2 bleus et 3 verts...
A moins que ... ton appareil photographique, peut-être ?
Belle image, en effet.
Et joli début de pastélisation (notamment en ce qui concerne le ciel et l'eau) ===>> allez : pousse encore un peu et nous n'y verrons que 2 bleus et 3 verts...
A moins que ... ton appareil photographique, peut-être ?
Je vais mettre Résolu bien qu'il me reste un problème... que je traiterai ailleurs si je n'arrive pas à le résoudre.
Merci DarkVader.
Pendant que j'y suis, merci ucfoutu pour le temps que tu as passé à essayer de m'aider. Si tu as toujours skype, je t'enverrai un original et sa réduction.
Bonne nuit.
Edit
@DarVader
Pour ce qui concerne la méthode Export de la diapo (slide), même en mode diaporama, elle traite l'image telle qu'elle est en mode création. On récupère donc une image réduite de 720 * 540 (avec marge) au lieu de 966 * 720 (avec marge). Mais merci pour l'idée qui aurait simplifié le code en évitant de passer par un graphe d'Excel.
Même en ajustant les paramètres scalewidth et scaleheight ?
Je viens de voir ta réponse, je teste.
A+
(J'ai un pb avec mon anti-virus qui découvre un virus dans mon code dès que j'ajoute les Crop* dans le code et neutralise le fichier. Pour tester, je suis obliger de désactiver la connexion internet et l'antivirus Ceci fait, le code fonctionne normalement. Je n'ai pas encore compris.
Ceci pour expliquer mon retard à la détente.)
Et tu as pensé à ajuster les paramètres de sécurité des macros et du code dans PP ?
Edit
C'est ok. J'ai supprimé la macro que j'avais ajoutée avant de la recréer... Plus de message de l'anti-virus.
Finalement, j'ai réussi à intégrer la redimension de l'image avant d'exporter le jpg (sans avoir à le ré-ouvrir). J'en reste là, ça me convient tout à fait.
Finalement, je passe par la copie d'écran du diaporama pour laquelle je domine les dimensions.
Merci Dark.
J'allais poster et je découvre, je vais donc en rester là mais te faire toutefois part de quelques observations.(Faut pas jeter )
J'ai cru remarquer que
1°) chaque diapo ne contenait qu'une image
2°) ne contenait rien d'autre
C'est donc bien l'image originale que tu cherches à saisir ?
Si telle est le cas voilà comment je pratiquerais afin de n'avoir aucune perte avant traitement ni bordure à supprimer :
Copie automatique de l'image à chaque diapo affichée,
après tu traites le clipboard comme tu veux.
Dans un module de classe
Dans un module, le code lançant le diaporama.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public WithEvents ppt As PowerPoint.Application Private Sub ppt_SlideShowNextSlide(ByVal Wn As SlideShowWindow) Dim sh As Shape For Each sh In Wn.View.Slide.Shapes If sh.Type = msoPicture Or msoPlaceholder Then sh.Copy ' In the clipboard Next End Sub
Bonne soirée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Public cl As New Classe1 Public Sub ClassInitialize() Application.ActivePresentation.SlideShowSettings.Run Set cl.ppt = PowerPoint.Application End Sub
(Ne t'inquiète pas, je ne jète plus rien)
Il est un peu tard (sortie resto) mais j'ai tout de même regardé. Apparemment, c'est bon.
Pour aller vite, j'ai testé ça.
Je n'ai pas encore fait le tour. Ce que je comprends pas c'est que l'image copiée est plus grande que l'écran (!) Ce qui donne un fichier de 1Mo au lieu des 250 ~ avec une copie d'écran. Par contre, la définition est évidemment meilleure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub test() Dim Wn As SlideShowWindow Dim sh As Shape, X As Single, Y As Single ActivePresentation.SlideShowSettings.Run Set Wn = SlideShowWindows(1) 'With Wn 'X = Application.Width 'Y = .Height * Application.Width / .Width 'End With For Each sh In Wn.View.Slide.Shapes If sh.Type = msoPicture Or msoPlaceholder Then sh.Copy ' In the clipboard Exit For 'je n'ai testé qu'avec une diapo Next Application.SlideShowWindows(1).View.Exit ActiveWindow.View.GotoSlide Index:=2 ActiveWindow.View.Paste With ActiveWindow.Selection.ShapeRange '.Height = Y '.Width = X .Left = 0# .Top = 0# End With End Sub
Je verrai ça demain, je te tiens au courant.
Bonne nuit.
PS - La nuit porte conseil : Le dimensionnement ici ne rime à rien puisque je modifie une image existante, pas sa taille en termes de place mémoire.
Je m'y remets.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager