Funigo
Météo Paris
Temp:
-
°C
Nuages:
-
%
Pluie:
-
mm
Météo Tokyo
Temp:
-
°C
Nuages:
-
%
Pluie:
-
mm
Taux de Change
1 EUR
=
-
JPY
Heure Paris
--:--
Heure Tokyo
--:--
Accueil
ホーム
Liste des articles du note_tech
Ajouter un article du note_tech
Modifier un article du note_tech
Modifier l'article : Compresser fichier JPG
Type de l'article :
Titre de l'article :
Contenu de l'article :
PS C:\Fichiers_Users\funigo\doc\ps1> powershell -ExecutionPolicy Bypass -File .\Optimize-Jpg.ps1 -Path "C:\funigo fichier\photo_jpg_to_webp\Photo-shikoku" param ( [Parameter(Mandatory=$true)] [string]$Path, [int]$Quality = 75 # Qualité par défaut (75 est idéal pour le web) ) # 1. Localisation de ImageMagick (méthode robuste) $magickExe = Get-Command magick -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Source if (-not $magickExe) { $defaultPath = "C:\Program Files\ImageMagick-7.1.2-Q16-HDRI\magick.exe" if (Test-Path $defaultPath) { $magickExe = $defaultPath } } if (-not $magickExe) { Write-Error "ImageMagick n'est pas détecté." return } # 2. Vérification du répertoire if (-not (Test-Path $Path)) { Write-Error "Le répertoire spécifié n'existe pas." return } # 3. Récupérer les fichiers JPG et JPEG $images = Get-ChildItem -Path $Path -File | Where-Object { $_.Extension -match "^\.(jpg|jpeg)$" } if ($images.Count -eq 0) { Write-Host "Aucun fichier .jpg ou .jpeg trouvé dans : $Path" -ForegroundColor Yellow return } Write-Host "Optimisation de $($images.Count) fichiers JPG (Qualité: $Quality%)..." -ForegroundColor Cyan foreach ($img in $images) { Write-Host "Traitement de : $($img.Name)..." -NoNewline # Calcul de la taille avant $oldSize = $img.Length / 1KB # Exécution de l'optimisation # -strip : enlève les métadonnées # -interlace Plane : crée un JPG progressif (mieux pour le web) # -sampling-factor 4:2:0 : standard de compression couleur & $magickExe "$($img.FullName)" -strip -quality $Quality -interlace Plane -sampling-factor 4:2:0 "$($img.FullName)" # Calcul de la taille après $newSize = (Get-Item $img.FullName).Length / 1KB $gain = [Math]::Round($oldSize - $newSize, 2) $percent = [Math]::Round(($gain / $oldSize) * 100, 1) Write-Host " Terminé (Gain: $gain KB / -$percent%)" -ForegroundColor Green } Write-Host "`nOptimisation terminée !" -ForegroundColor Cyan
Ajouter le nom du fichier image
Ajouter le nom du fichier à ouvrir
Enregistrer les modifications
Annuler