Supprimer l'image, redimensionner ratio de OpenCart
J'ai regarder partout sur comment je pourrais supprimer le redimensionnement d'image dans OpenCart mais je n'ai pas trouve rien à ce sujet.
J'ai besoin qu'il redimensionner mais ne gardez pas le rapport. Je veux l'image pour être juste comme je l'ai mis.
Voici le code de redimensionnement dans le system/library/image.php
public function resize($width = 0, $height = 0) {
if (!$this->info['width'] || !$this->info['height']) {
return;
}
$xpos = 0;
$ypos = 0;
$scale = min($width / $this->info['width'], $height / $this->info['height']);
if ($scale == 1) {
return;
}
$new_width = (int)($this->info['width'] * $scale);
$new_height = (int)($this->info['height'] * $scale);
$xpos = (int)(($width - $new_width) / 2);
$ypos = (int)(($height - $new_height) / 2);
$image_old = $this->image;
$this->image = imagecreatetruecolor($width, $height);
if (isset($this->info['mime']) && $this->info['mime'] == 'image/png') {
imagealphablending($this->image, false);
imagesavealpha($this->image, true);
$background = imagecolorallocatealpha($this->image, 255, 255, 255, 127);
imagecolortransparent($this->image, $background);
} else {
$background = imagecolorallocate($this->image, 255, 255, 255);
}
imagefilledrectangle($this->image, 0, 0, $width, $height, $background);
imagecopyresampled($this->image, $image_old, $xpos, $ypos, 0, 0, $new_width, $new_height, $this->info['width'], $this->info['height']);
imagedestroy($image_old);
$this->info['width'] = $width;
$this->info['height'] = $height;
}
Ce que dans ce code je pourrais le supprimer afin que l'image ne le gardez pas de rapport sur les redimensionner ?
OriginalL'auteur Warface | 2011-08-16
Vous devez vous connecter pour publier un commentaire.
J'aimerais tout d'abord laissez la valeur par défaut de redimensionnement de l'outil que dans certaines circonstances, il peut venir dans maniable. Ce que j'ai fait ajouter deux fonctions de redimensionner les images.
Une fonction de recadrer une image afin qu'elle s'adapte à la taille définie dans l'admin. Maintenant vide zones blanches sont ajoutés. Celui-ci est idéal pour des listes de produits. La seconde, j'ai ajouté une fonction qui redimensionne une image de sorte que la plus grande dimension sera réglé à la taille maximale définie dans l'admin. Il sera réduite proportionnellement.
Les nouveaux fichiers sont posté dans un OpenCart fil de discussion du forum.
J'ai nommé les deux fonctions supplémentaires cropsize et onesize. Tout ce que vous avez à faire est de trouver les utilisé redimensionner les fonctions du contrôleur et d'ajuster ceci:
:
La onesize fonction d'un seul paramètre, donc c'est à vous, mais vous pouvez utiliser quelque chose comme ceci:
J'espère que cela vous aidera à obtenir des images de meilleure qualité.
Merci, ça fonctionne, juste que j'ai changer de dernière instruction if else dans model/tool/image.php parce que je pense que la nouvelle version de OpenCart exige. Au lieu de "retour HTTPS_IMAGE . $new_image;" j'ai utilisé "return $this->config->get('config_ssl') . 'images/' . $new_image;" et cela a fonctionné.
cela a fonctionné mais comment recadrer/redimensionner uniquement en largeur?
OriginalL'auteur Jerome Bohg