{"id":29318,"date":"2021-06-13T17:03:00","date_gmt":"2021-06-13T14:03:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29318"},"modified":"2021-10-17T16:18:40","modified_gmt":"2021-10-17T13:18:40","slug":"cambiar-el-tamano-de-la-imagen-en-php-usando-la-biblioteca-de-imagenes-de-intervencion","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/cambiar-el-tamano-de-la-imagen-en-php-usando-la-biblioteca-de-imagenes-de-intervencion\/","title":{"rendered":"Cambiar el tama\u00f1o de la imagen en PHP usando la biblioteca de im\u00e1genes de intervenci\u00f3n"},"content":{"rendered":"<p>\u00bfEst\u00e1 buscando c\u00f3mo cambiar el tama\u00f1o de las im\u00e1genes en PHP? Mientras trabajamos en la aplicaci\u00f3n web, necesitamos crear diferentes versiones en miniatura de la imagen original. La miniatura es la versi\u00f3n redimensionada de su imagen original. En este art\u00edculo, estudiamos c\u00f3mo cargar y redimensionar im\u00e1genes en PHP.<\/p>\n<h3>\u00bfPor qu\u00e9 deber\u00edamos cambiar el tama\u00f1o de las im\u00e1genes?<\/h3>\n<p>En el sitio web, hay varios escenarios en los que necesitamos mostrar una versi\u00f3n corta de una imagen grande. Un ejemplo popular es la Galer\u00eda de im\u00e1genes. En la galer\u00eda, sol\u00edamos mostrar una lista de im\u00e1genes peque\u00f1as. Cuando un usuario hace clic en la imagen peque\u00f1a, se abrir\u00e1 la imagen grande en la ventana emergente. Otro ejemplo es mostrar art\u00edculos relacionados donde mostramos peque\u00f1as im\u00e1genes junto con el t\u00edtulo y la descripci\u00f3n de una publicaci\u00f3n.<\/p>\n<p>En estos escenarios, necesitamos generar una imagen peque\u00f1a (miniatura) usando nuestra imagen original. Una peque\u00f1a miniatura reduce el tama\u00f1o de sus p\u00e1ginas. Como est\u00e1 utilizando una miniatura peque\u00f1a, el navegador requiere poco ancho de banda para cargar la imagen. Agregar\u00e1 algunos beneficios al sitio web. Algunos de ellos son:<\/p>\n<ul>\n<li>Mejora el rendimiento del servidor<\/li>\n<li>Reducir el ancho de banda<\/li>\n<li>Mejorar la velocidad de la p\u00e1gina<\/li>\n<\/ul>\n<p>Dicho esto, echemos un vistazo a c\u00f3mo cambiar el tama\u00f1o de la imagen en PHP.<\/p>\n<h3>Empezando<\/h3>\n<p><a href=\"http:\/\/image.intervention.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Intervention Image<\/a> es una biblioteca de c\u00f3digo abierto que act\u00faa como una herramienta para cambiar el tama\u00f1o de la imagen. Bajo el cap\u00f3, Intervention Image utiliza GD Library e Imagick para el procesamiento y la manipulaci\u00f3n de im\u00e1genes.<\/p>\n<p>Para comenzar, debe instalar la biblioteca de im\u00e1genes de intervenci\u00f3n en su aplicaci\u00f3n. Recomiendo usar <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> para la instalaci\u00f3n de una biblioteca.<\/p>\n<p>Abra la terminal en el directorio ra\u00edz de su proyecto y ejecute el siguiente comando.<\/p>\n<pre><code>composer require intervention\/image<\/code><\/pre>\n<p>Despu\u00e9s de instalar la biblioteca, debe incluir su entorno en su aplicaci\u00f3n. Para ello, incluya a continuaci\u00f3n dos l\u00edneas en el archivo PHP.<\/p>\n<pre><code>&lt;?php\n\/\/ include composer autoload\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;<\/code><\/pre>\n<p>Para cargar y cambiar el tama\u00f1o de la imagen, necesitamos un formulario donde se pueda navegar por la imagen y presionar el bot\u00f3n de enviar. Utilice el siguiente HTML que contiene la entrada del archivo y un bot\u00f3n de env\u00edo.<\/p>\n<pre><code>&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"file\" name=\"image\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>Cambiar el tama\u00f1o de la imagen en PHP usando la imagen de intervenci\u00f3n<\/h3>\n<p>Hemos instalado la biblioteca y creado un formulario. A continuaci\u00f3n, tenemos que cargar y cambiar el tama\u00f1o de la imagen sobre la marcha. Voy a crear dos directorios <code>uploads<\/code>y <code>thumbnails<\/code>. En la <code>uploads<\/code>carpeta almacenaremos la imagen original. La versi\u00f3n en miniatura de la imagen se almacenar\u00e1 dentro del <code>thumbnails<\/code>directorio.<\/p>\n<p>Utilice el siguiente c\u00f3digo que almacenar\u00e1 la versi\u00f3n original y en miniatura de la imagen en los directorios <code>uploads<\/code>y <code>thumbnails<\/code>respectivamente.<\/p>\n<pre><code>&lt;?php\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;\n\u00a0\n$allowed_mime_type = array('image\/jpg', 'image\/jpeg', 'image\/png', 'image\/gif');\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (in_array($_FILES['image']['type'], $allowed_mime_type)) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = time().'_'.$_FILES['image']['name'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filepath = 'uploads\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['image']['tmp_name'], $filepath);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads\/thumbnails')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads\/thumbnails', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$thumbnailpath = 'uploads\/thumbnails\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img = Image::make($filepath);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;save($thumbnailpath);\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>En el c\u00f3digo anterior, pas\u00e9 el ancho como 300 y cambi\u00e9 el tama\u00f1o de la imagen manteniendo su relaci\u00f3n de aspecto. Puede pasar el valor de ancho seg\u00fan sus requisitos. Se recomienda mantener la relaci\u00f3n de aspecto al cambiar el tama\u00f1o de la imagen. Usando la relaci\u00f3n de aspecto, la imagen no se estirar\u00e1. Sin embargo, si est\u00e1 buscando un cultivo duro, reemplace las siguientes l\u00edneas<\/p>\n<pre><code>$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n});<\/code><\/pre>\n<p>Con<\/p>\n<pre><code>$img-&gt;resize(300, 150)-&gt;save($thumbnailpath);<\/code><\/pre>\n<h3>Conclusi\u00f3n<\/h3>\n<p>En este tutorial, estudiamos c\u00f3mo cambiar el tama\u00f1o de las im\u00e1genes manteniendo su relaci\u00f3n de aspecto. Tambi\u00e9n escribimos un c\u00f3digo que recortar\u00e1 la imagen. La biblioteca de im\u00e1genes de intervenci\u00f3n proporciona algunas opciones m\u00e1s para un <code>resize<\/code>m\u00e9todo. Puede leer m\u00e1s sobre esto en su <a href=\"http:\/\/image.intervention.io\/api\/resize\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentaci\u00f3n<\/a>.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/cambiar-el-tamano-de-la-imagen-en-laravel-usando-la-biblioteca-de-imagenes-de-intervencion\/\" title=\"Cambiar el tama\u00f1o de la imagen en Laravel usando la biblioteca de im\u00e1genes de intervenci\u00f3n\">Cambiar el tama\u00f1o de la imagen en Laravel usando la biblioteca de im\u00e1genes de intervenci\u00f3n<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/cambiar-el-tamano-de-la-imagen-en-php-usando-tinypng\/\" title=\"Cambiar el tama\u00f1o de la imagen en PHP usando TinyPNG\">Cambiar el tama\u00f1o de la imagen en PHP usando TinyPNG<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/arrastrar-y-soltar-carga-de-archivos-usando-javascript-y-php\/\" title=\"Arrastrar y soltar carga de archivos usando JavaScript y PHP\">Arrastrar y soltar carga de archivos usando JavaScript y PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, estudiamos c\u00f3mo cambiar el tama\u00f1o de las im\u00e1genes en PHP utilizando la biblioteca de im\u00e1genes de intervenci\u00f3n. El uso de una versi\u00f3n en miniatura reduce el tama\u00f1o de la p\u00e1gina web<\/p>\n","protected":false},"author":1,"featured_media":21621,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[271],"tags":[849],"class_list":["post-29318","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=29318"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29318\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21621"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=29318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=29318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=29318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}