Redimensionnement d'image
moimeme
-
CRBHD Messages postés 153 Statut Membre -
CRBHD Messages postés 153 Statut Membre -
Bonjour à tous,
Peut on écrire une macro qui redimmensionne les images en gardant l'échelle (j'ai plein d'ilmages de tailles et formes différentes et je veux qu'elles aient toutes la même largeur mais en gardant leur proportions initiales) ?
J'ai essayé ca :
Sub Redimmensionnement()
For Each Pict In ActiveDocument.InlineShapes
Pict.LockAspectRatio = True
Pict.Width = 500
Next
End Sub
mais ca ne garde pas l'échelle ?
Merci d'avance
Peut on écrire une macro qui redimmensionne les images en gardant l'échelle (j'ai plein d'ilmages de tailles et formes différentes et je veux qu'elles aient toutes la même largeur mais en gardant leur proportions initiales) ?
J'ai essayé ca :
Sub Redimmensionnement()
For Each Pict In ActiveDocument.InlineShapes
Pict.LockAspectRatio = True
Pict.Width = 500
Next
End Sub
mais ca ne garde pas l'échelle ?
Merci d'avance
A voir également:
- Redimensionnement d'image
- Image iso - Guide
- Reduire taille image - Guide
- Légende image word - Guide
- Acronis true image gratuit - Télécharger - Sauvegarde
- Chercher image - Guide
3 réponses
Bonjour,
essaye ça :
Pict.Height = (500/Pict.Width) * Pict.Height
Pict.width = 500
Je suis sûr de rien, je suis fatigué et je dis peut-être une grosse bêtise ^^
:)
essaye ça :
Pict.Height = (500/Pict.Width) * Pict.Height
Pict.width = 500
Je suis sûr de rien, je suis fatigué et je dis peut-être une grosse bêtise ^^
:)
Bonjour,
Mathématiquement, c'est impossible. Si j'ai bien compris, vous souhaitez que toutes vos photos aient la même largeur même si la hauteur est différente et par dessu tout ça, vous "exigez" des proportions identiques !!!! Non, pour accéder à vos désirs, vous devrez "couper" l'image sur la hauteur. J'ai personnellement réaliser celà pour établir un imposant album. J'ai dû procéder ainsi et c'est tout à fait réussi. Bon courage et @+
Mathématiquement, c'est impossible. Si j'ai bien compris, vous souhaitez que toutes vos photos aient la même largeur même si la hauteur est différente et par dessu tout ça, vous "exigez" des proportions identiques !!!! Non, pour accéder à vos désirs, vous devrez "couper" l'image sur la hauteur. J'ai personnellement réaliser celà pour établir un imposant album. J'ai dû procéder ainsi et c'est tout à fait réussi. Bon courage et @+
Bonjour,
Dans quelles mesures est-ce impossible ? Ce n'est qu'une histoire de proportions...
Un bel exemple en php, qui en plus de respecter les proportions, permet de choisir une taille maximale en hauteur comme en largeur :
function redimage($img_src,$img_dest,$dst_w,$dst_h) {
// Lit les dimensions de l'image
$size = getimagesize($img_src);
$src_w = $size[0];
$src_h = $size[1];
// Teste les dimensions
$prop_w = round(($src_w / $src_h),2);
$prop_h = round(($src_h / $src_w),2);
if ($src_w >= $src_h)
{
$dst_w=440;
$dst_h = $dst_w * $prop_h;
if ($dst_h > 250)
{
$dst_h = 250;
$dst_w = $dst_h * $prop_w;
}
}
else
{
$dst_h=250;
$dst_w = round(($dst_h * $prop_w),1);
if ($dst_w > 440)
{
$dst_w=440;
$dst_h=$dst_w * $prop_h;
}
}
// Crée une image vierge aux bonnes dimensions
$dst_im = imagecreatetruecolor($dst_w,$dst_h);
// Copie dedans l'image initiale redimensionnée
$src_im = imagecreatefromjpeg($img_src);
echo "img = $img_src <br>";
imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
// Sauve la nouvelle image
imagejpeg($dst_im,$img_dest,100);
// Détruis les tampons
imagedestroy($dst_im);
imagedestroy($src_im);
return "http://www.xxx.be/images/resized/" . $img_dest;
}
Et ça n'est que mathématique (en dehors des fonctions images évidemment).
@+
Dans quelles mesures est-ce impossible ? Ce n'est qu'une histoire de proportions...
Un bel exemple en php, qui en plus de respecter les proportions, permet de choisir une taille maximale en hauteur comme en largeur :
function redimage($img_src,$img_dest,$dst_w,$dst_h) {
// Lit les dimensions de l'image
$size = getimagesize($img_src);
$src_w = $size[0];
$src_h = $size[1];
// Teste les dimensions
$prop_w = round(($src_w / $src_h),2);
$prop_h = round(($src_h / $src_w),2);
if ($src_w >= $src_h)
{
$dst_w=440;
$dst_h = $dst_w * $prop_h;
if ($dst_h > 250)
{
$dst_h = 250;
$dst_w = $dst_h * $prop_w;
}
}
else
{
$dst_h=250;
$dst_w = round(($dst_h * $prop_w),1);
if ($dst_w > 440)
{
$dst_w=440;
$dst_h=$dst_w * $prop_h;
}
}
// Crée une image vierge aux bonnes dimensions
$dst_im = imagecreatetruecolor($dst_w,$dst_h);
// Copie dedans l'image initiale redimensionnée
$src_im = imagecreatefromjpeg($img_src);
echo "img = $img_src <br>";
imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
// Sauve la nouvelle image
imagejpeg($dst_im,$img_dest,100);
// Détruis les tampons
imagedestroy($dst_im);
imagedestroy($src_im);
return "http://www.xxx.be/images/resized/" . $img_dest;
}
Et ça n'est que mathématique (en dehors des fonctions images évidemment).
@+