¿Cambiar el tamaño de las imágenes al tamaño real utilizado en el editor?

18

¿Hay alguna forma de cambiar el tamaño de las imágenes al tamaño real que se mostrarán en la publicación? Tengo usuarios que importan una imagen grande y luego la cambian de tamaño en el editor visual. Esto es fácil, ya que solo pueden arrastrar la imagen hasta el tamaño que desean, sin abrir primero un editor de imágenes, cambiar el tamaño de la imagen, guardarla y cargarla como un archivo adjunto separado. Por supuesto, esto a veces da como resultado una imagen de 100px de ancho en la publicación, pero 1500px en realidad.

¿Hay algún complemento que haga esto cuando se guarda una nueva publicación? Me gustaría mantener la imagen de tamaño completo existente (para vincular, o cambiar el tamaño más adelante), pero solo agregar un tamaño adicional (y guardarlo en el objeto _wp_attachment_metadata ), por lo que esta publicación tiene la imagen en el tamaño correcto, y una referencia al archivo adjunto de tamaño completo.

Por supuesto, todas las publicaciones existentes también deben manejarse una vez. Las etiquetas <img> pueden tener solo un width , solo un height , o ninguno de ellos: todo esto debe limpiarse, de modo que todos tengan el width , height correcto y una imagen de ese tamaño .

    
pregunta Jan Fabry 07.09.2010 - 12:40

5 respuestas

10

Creé dos complementos que juntos deberían resolver mis necesidades. Actualmente se encuentran en una fase alfa temprana y todos los comentarios son bienvenidos.

El complemento básico es un Resizer a petición . Estos complementos monitorean las solicitudes de archivos no existentes en el directorio de cargas y crean imágenes del tamaño solicitado si es necesario. Por ejemplo, image-200x100.jpg creará y devolverá image.jpg , pero se redimensionará a 200 por 100 píxeles. La imagen se guarda con ese nombre en el directorio, por lo que el servidor gestiona las solicitudes directamente

El segundo complemento, Redimensionar etiquetas img , modifica las etiquetas <img> para que su src los atributos incluyen datos de ancho y / o altura. Esto permite que el primer complemento sirva las imágenes correctas. Juntos hacen lo que quiero, y solo necesito crear una función de ejecución única para convertir todas las publicaciones existentes, pero eso debería ser fácil (no quiero enganchar a the_content para algo que debería ejecutarse solo una vez).

Un tercer complemento "extra", Imágenes intermedias virtuales , intercepta la creación de las imágenes intermedias Al subir una nueva imagen en WordPress. Dado que aún son creados por el primer complemento si se solicitan, esto le permite especificar múltiples tamaños de imagen sin ocupar espacio en el disco a menos que realmente se utilicen. Esto no es necesario para que funcionen los dos primeros, pero fue una adición fácil, y destaca el hecho de que todavía tengo que trabajar con el editor de imágenes de WordPress, pero lo haré cuando cree mi editor de miniaturas , que también usará el primer complemento.

    
respondido por el Jan Fabry 13.11.2010 - 17:16
4

He buscado en el directorio del complemento "resize" o "crop" (este último para otra pregunta ), y anoté mis hallazgos en . La búsqueda de complementos es muy confusa en sus números de resultados (la última página de la búsqueda "resize" muestra "Mostrando 145-150 de 273 complementos"), por lo que es posible que haya omitido algunos. Notas semi relacionadas: todos parecen pensar que el mundo necesita otro complemento de presentación de diapositivas. Pocos parecen darse cuenta de que content_save_pre puede ser un filtro mejor para realizar un análisis intenso que the_content .

Todavía no probé ninguno de estos complementos, pero aquí hay una lista de complementos que parece hacer lo que quiero. Agregué el número de versión de "Compatible hasta" en paréntesis.

  

Pensamientos personales: Los primeros cuatro reescriben la URL en una página dinámica (algo como /wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50 ), con diferentes formas de almacenamiento en caché. Prefiero una imagen real que se crea según sea necesario, similar al enfoque que toma ImageScaler. Sin embargo, dividiría esto (e incluiría la sugerencia de hakre en los comentarios) y primero reescribiría todas las URL de /wp-content/uploads/2010/11/image.jpg a /wp-content/uploads/2010/11/image-100x50.jpg , y luego dejaría que un script creara las imágenes faltantes. La primera solicitud de esta imagen crea la imagen, todas las solicitudes posteriores utilizan esta imagen creada. Esto también me permite dividir la funcionalidad en diferentes complementos. Pondré esta solución en una respuesta por separado.

Estos complementos limitan las imágenes a un tamaño máximo determinado (¿en qué se diferencia de especificar $content_width ?):

  • JP-redise-images , comprueba tanto las imágenes de enlace activo como las de gran tamaño (solo si son demasiado grandes, no si solo son redimensionados) (3.0.1)
  • Ajuste de imagen colgado , verifica imágenes demasiado grandes (3.0.0)

El siguiente complemento es interesante por otras razones:

Esta es una publicación de Community Wiki, por lo que puede actualizarse si encuentra nuevos complementos.

    
respondido por el Jan Fabry 13.04.2017 - 14:37
0

¿Qué hay de utilizar la variable timthumb y pass para cambiar automáticamente el tamaño / dimensiones de la imagen y los niveles de zoom? De esta manera los tamaños de imagen originales todavía se pueden mantener. Si necesita algunos ejemplos en esta línea, hágamelo saber.

    
respondido por el NetConstructor.com 07.09.2010 - 12:46
0

Wordpress ofrece tres tamaños predeterminados (pequeño, mediano, grande) que se pueden configurar. Si los usas, Wordpress crea copias redimensionadas. Probablemente sea un buen estilo usarlos y establecer el número para que se ajusten al estilo actual. Esto hace que las imágenes no tengan tamaños diferentes en toda la página y permitan ajustes globales cuando el tema cambia.

    
respondido por el Raphael 10.11.2010 - 15:43
0

El recientemente lanzado Image Pro El complemento parece hacer exactamente esto. Aún no lo he probado, la demostración se ve muy impresionante, tenga en cuenta la poca compatibilidad del navegador (solo Firefox en este momento).

    
respondido por el Rarst 07.08.2011 - 21:22

Lea otras preguntas en las etiquetas