Redimensionner les images à la taille réelle utilisée dans l'éditeur?

18

Existe-t-il un moyen de redimensionner les images à la taille réelle qui sera affichée dans le message? J'ai des utilisateurs qui importent une grande image et la redimensionnent ensuite dans l'éditeur visuel. C'est facile, car ils peuvent simplement faire glisser l'image jusqu'à la taille souhaitée, sans ouvrir un éditeur d'image, redimensionner, enregistrer ou télécharger en tant que pièce jointe. Bien sûr, cela se traduit parfois par une image de 100 pixels de large dans la publication, mais en réalité de 1500 pixels.

Existe-t-il un plugin qui effectue cela lorsqu'un nouveau message est enregistré? Je souhaite conserver l'image pleine taille existante (pour la liaison ou les redimensionnements ultérieurs), mais pour ajouter une taille supplémentaire (et l'enregistrer dans l'objet _wp_attachment_metadata ), cette publication a donc la taille correcte, et une référence à la pièce jointe en taille réelle.

Bien entendu, tous les messages existants doivent également être traités une fois. Les balises <img> peuvent ne contenir qu'un width , seulement un height ou aucun d'entre elles: tout cela doit être nettoyé, afin qu'elles aient toutes le bon width , height et une image de cette taille. .

    
posée Jan Fabry 07.09.2010 - 12:40

5 réponses

10

J'ai créé deux plugins qui, ensemble, devraient résoudre mes besoins. Ils en sont actuellement aux premiers stades alpha et tous les commentaires sont les bienvenus.

Le plug-in de base est un programme de redimensionnement à la demande . Ce plugin surveille les demandes de fichiers non existants dans le répertoire uploads et crée des images de la taille demandée si nécessaire. Par exemple, image-200x100.jpg va créer et renvoyer image.jpg , mais redimensionné à 200 par 100 pixels. L’image étant enregistrée sous ce nom dans l’annuaire, les demandes ultérieures sont traitées directement par le serveur.

Le deuxième plug-in, Redimensionner les balises img , modifie les balises <img> afin qu'elles soient src . les attributs incluent les données de largeur et / ou de hauteur. Cela permet au premier plugin de servir les images correctes. Ensemble, ils font ce que je veux, et je n'ai besoin que de créer une fonction run-once pour convertir toutes les publications existantes, mais cela devrait être facile (je ne veux pas accrocher the_content pour quelque chose qui ne devrait être exécuté qu'une seule fois).

Un troisième plug-in "bonus", Images virtuelles intermédiaires , intercepte la création des images intermédiaires. lors du téléchargement d'une nouvelle image dans WordPress. Comme elles sont toujours créées par le premier plug-in si nécessaire, cela vous permet de spécifier plusieurs tailles d'image sans utiliser d'espace disque, à moins qu'elles ne soient réellement utilisées. Ce n'est pas nécessaire pour que les deux premiers fonctionnent, mais c'était un ajout facile, et cela souligne le fait que je dois toujours travailler avec l'éditeur d'images WordPress, mais je le ferai lorsque je crée mon éditeur de vignettes , qui utilisera également le premier plugin.

    
réponse donnée Jan Fabry 13.11.2010 - 17:16
4

J'ai recherché dans le répertoire du plug-in "resize" ou "crop" (le dernier pour une autre question ), et a noté mes conclusions dans public . La recherche de plugins est très déroutante dans ses résultats (la dernière page de "resize" search indique "145-150 sur 273 plugins"), donc j'en ai peut-être manqué. Notes semi-connexes: tout le monde semble penser que le monde a besoin d'un autre plug-in de diaporama. Peu de gens semblent se rendre compte que content_save_pre peut être un meilleur filtre pour effectuer des analyses syntaxiques lourdes que the_content .

Je n'ai encore testé aucun de ces plugins, mais voici une liste de plugins qui semble faire ce que je veux. J'ai ajouté le numéro de version "Compatible jusqu'à" entre parenthèses.

  

Pensées personnelles: Les quatre premières réécrivent l'URL sur une page dynamique (quelque chose comme /wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50 ), avec différentes formes de mise en cache. Je préfère une image réelle créée à la demande, similaire à l'approche adoptée par ImageScaler. Cependant, je scinderais ceci (et inclurais la suggestion de hakre dans les commentaires) et réécrirais d'abord toutes les URL de /wp-content/uploads/2010/11/image.jpg à /wp-content/uploads/2010/11/image-100x50.jpg , puis laisserais un script créer les images manquantes. La première demande pour cette image crée l'image, toutes les demandes suivantes utilisent cette image créée. Cela me permet également de scinder la fonctionnalité entre différents plugins. Je publierai cette solution dans une réponse séparée.

Ces plugins limitent les images à une certaine taille maximale (En quoi cela diffère-t-il de la spécification de $content_width ?):

  • JP-remaniement des images , vérifie les images redirigées et surdimensionnées (uniquement si elles sont trop grandes, pas si elles sont juste redimensionnées) (3.0.1)
  • Hungred Image Fit , vérifie les images trop grandes (3.0.0)

Le plugin suivant est intéressant pour d'autres raisons:

Ceci est un message de wiki communautaire qui peut donc être mis à jour si vous trouvez de nouveaux plugins.

    
réponse donnée Jan Fabry 13.04.2017 - 14:37
0

Pourquoi ne pas utiliser timthumb et une variable de passage pour modifier automatiquement la taille / les dimensions de l’image et les niveaux de zoom? De cette façon, les tailles d'origine de l'image peuvent toujours être conservées. Si vous avez besoin d'exemples sur cette ligne, faites le moi savoir.

    
réponse donnée NetConstructor.com 07.09.2010 - 12:46
0

Wordpress propose trois tailles par défaut (petite, moyenne et grande) pouvant être configurées. Si vous les utilisez, Wordpress crée des copies redimensionnées. C'est probablement un bon style pour les utiliser et définir le nombre afin qu'ils correspondent au style actuel. Il en résulte que les images n'ont pas des tailles différentes sur toute la page et permettent des réglages globaux lorsque le thème change.

    
réponse donnée Raphael 10.11.2010 - 15:43
0

La Image Pro récemment publiée plugin semble faire exactement cela. Je ne m'étais pas encore testé, la démo est très impressionnante, notez la faible compatibilité du navigateur (Firefox uniquement).

    
réponse donnée Rarst 07.08.2011 - 21:22

Lire d'autres questions sur les étiquettes