JSP Comment redimensionner une image?
Est-il de toute façon à l'échelle une image, puis de les afficher dans la page jsp? Lors de la récupérer et d'afficher les images, je veux montrer toutes les photos de la même taille. est-il un API peut le faire? J'ai cherché sur google, ceux que j'ai trouvé était à propos de mise à l'échelle des images en utilisant boîte à outils, mais ne peut pas les œuvres dans l'application web.
OriginalL'auteur user236501 | 2010-05-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la builtin Java API 2D (basic Soleil tutoriel ici).
Fondamentalement, vous devez créer un Servlet qui obtient un
InputStream
de l'image d'origine dans ladoGet()
méthode, il passe à travers la Java API 2D, puis de l'écrit à l'OutputStream
de la réponse HTTP. Alors que vous venez de carte cette Servlet sur un certainurl-pattern
dansweb.xml
, par exemple/thumbs/*
et appeler cette Servlet dans lesrc
de l'attribut HTML<img>
élément.Voici une base de lancement pour exemple (vous avez encore besoin de gérer des situations imprévues de la même manière que vous le souhaitez):
Avec la servlet mappé dans
web.xml
comme suit:Cela peut être utilisé comme suit:
Note: non, cela ne peut être fait avec JSP seul, car c'est un point de vue de la technologie inadaptés pour cette tâche.
Note 2: c'est plutôt cher (UC) de la tâche, gardez cela à l'esprit. Vous pourriez envisager de la cache ou pregenerate les pouces à l'avance de vous-même.
OriginalL'auteur BalusC
Techniquement, vous pouvez le faire, mais en effet ce n'est pas quelque chose qui est souhaitable.
Et oui, j'aimerais mettre en cache les images pendant une longue période, avec quelque chose pour identifier les changements à l'original, puis le recréer l'image redimensionnée seulement si l'origine des modifications (ou le cache expire, peut-être une semaine après l'image du dernier accès).
OriginalL'auteur jwenting