Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
687 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  Reduction d'images numeriques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Reduction d'images numeriques

n°493180
nartu elxe
Gul Dukat Fanatic !
Posté le 21-08-2003 à 12:20:55  profilanswer
 

salut a tous!
 
je cherche des fonctions en java, en php ou en asp capables de reduire une image en pixel et en octet
 
g besoin de ces fonctions pour ne pas stocker de trop grosses images sur mon serveur
 
 
merci de votre aide
 
:)


Message édité par nartu elxe le 08-09-2003 à 13:15:35
mood
Publicité
Posté le 21-08-2003 à 12:20:55  profilanswer
 

n°493360
benou
Posté le 21-08-2003 à 14:26:40  profilanswer
 

en java tu peux te servir de JAI.
 
j'ai fais une petite classe utilitaire :  

Code :
  1. import java.io.*;
  2. import java.awt.image.*;
  3. import javax.media.jai.*;
  4. import java.awt.image.renderable.*;
  5. import com.sun.media.jai.codec.*;
  6. public class ImageUtils {
  7. public static PlanarImage getImage(File file) throws IOException {
  8.  return JAI.create("fileload", new ParameterBlock().add(file.toString()));
  9. }
  10. public static RenderedImage adapt(RenderedImage img, int width, int height) {
  11.  return adapt(img, (float) img.getWidth() / (float) width, (float) img.getHeight() / (float) height);
  12. }
  13. public static RenderedImage adapt(RenderedImage img, int nbPixels, int maxWidth, int maxHeight) {
  14.  float scale = (float) Math.sqrt((float) nbPixels / (float) (img.getWidth() * img.getHeight()));
  15.  if (scale * img.getWidth() > maxWidth) {
  16.   scale = (float) maxWidth / (float) img.getWidth();
  17.  }
  18.  if (scale * img.getHeight() > maxHeight) {
  19.   scale = (float) maxHeight / (float) img.getHeight();
  20.  }
  21.  return adapt(img, scale, scale);
  22. }
  23. public static RenderedImage adapt(RenderedImage img, int nbPixels) {
  24.  float scale = (float) Math.sqrt((float) nbPixels / (float) (img.getWidth() * img.getHeight()));
  25.  return adapt(img, scale, scale);
  26. }
  27. public static RenderedImage adapt(RenderedImage img, float scalex, float scaley) {
  28.  ParameterBlock pb = new ParameterBlock().addSource(img);
  29.  pb.add(scalex); // The xScale
  30.  pb.add(scaley); // The yScale
  31.  pb.add(0.0f); // The x translation
  32.  pb.add(0.0f); // The y translation
  33.  pb.add(new InterpolationBicubic(10)); // The interpolation
  34.  return JAI.create("scale", pb, null);
  35. }
  36. public static void saveToJpg(RenderedImage img, File outFile, float quality) throws IOException {
  37.  FileOutputStream fout = new FileOutputStream(outFile);
  38.  writeJpg(img, fout, quality);
  39.  fout.close();
  40. }
  41. public static void writeJpg(RenderedImage img, OutputStream outStream, float quality) throws IOException {
  42.  JPEGEncodeParam encodeParam = new JPEGEncodeParam();
  43.  encodeParam.setQuality(quality);
  44.  ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", outStream, encodeParam);
  45.  encoder.encode(img);
  46. }
  47. public InputStream getJpgInputStream(RenderedImage img, float quality) throws IOException {
  48.  ByteArrayOutputStream outStream = new ByteArrayOutputStream();
  49.  writeJpg(img, outStream, quality);
  50.  return new ByteArrayInputStream(outStream.toByteArray());
  51. }
  52. public static void main(String[] args) throws IOException {
  53.  RenderedImage img = getImage(new File(("E:/temp/photos/toto.jpg" ));
  54.  img = adapt(img, 1024*768);
  55.  writeJpg(img, new File("E:/temp/photos/toto2.jpg" ), 0.75f);
  56. }
  57. }


---------------
ma vie, mon oeuvre - HomePlayer
n°494139
nartu elxe
Gul Dukat Fanatic !
Posté le 22-08-2003 à 10:33:11  profilanswer
 

J'ai testé ta class mais pour la compiler, j'ai du rajouté quelques try-catch
 
apres execution de ton code, j'ai ca comme erreur:
 
access denied (java.io.FilePermission C:\Documents and Settings\a01.jpg read)
 
mais franchement je sais po pkoi ca fait ca, puisque ce fichier n'est pas ouvert.


Message édité par nartu elxe le 01-09-2003 à 16:51:31
n°504329
nartu elxe
Gul Dukat Fanatic !
Posté le 01-09-2003 à 16:54:46  profilanswer
 

up

n°504333
darklord
You're welcome
Posté le 01-09-2003 à 16:55:49  profilanswer
 

nartu elxe a écrit :

J'ai testé ta class mais pour la compiler, j'ai du rajouté quelques try-catch


 
 :heink:


---------------
Just because you feel good does not make you right
n°504359
benou
Posté le 01-09-2003 à 18:44:13  profilanswer
 

nartu elxe a écrit :

J'ai testé ta class mais pour la compiler, j'ai du rajouté quelques try-catch


ma classe compile !
 
Mais bien sûr, vu qu'il y a des exceptions générées par les méthodes, tu doit gérer les exceptions dans tes classes qui font appel à ma classe [:spamafote]
mais bon, ca c'est normal hein ! :/
 

nartu elxe a écrit :

access denied (java.io.FilePermission C:\Documents and Settings\a01.jpg read)


 :heink:  
qu'est ce qu'il fout dans ce repertoire ce fichier ???? logiquement y a rien à part les répertoire de sauvegarde des environnements utilisateurs dans ce rep.
T'es sur que c'est le bon chemin ?


---------------
ma vie, mon oeuvre - HomePlayer
n°504709
nartu elxe
Gul Dukat Fanatic !
Posté le 02-09-2003 à 09:38:11  profilanswer
 

1) j'ai raccourci le chemin pour le post  :)  
2) Oui je suis sûr du chemin  :jap:  
3) J'utilise Sun One Studio 4 update 1 pour compiler le fichier. T'utilises koi comme compilateur?

n°504722
benou
Posté le 02-09-2003 à 09:46:15  profilanswer
 

:heink:  
peu importe ce que j'utilise, ca compile !
envoie les messages d'erreur du compilo...
 
et puis j'en sais rien moi, si il te dit qu'il a pas le droit de lire le fichier, c'est certainement qu'il a pas le droit de le lire [:spamafote]
 
t'essayerai pas lancer le truc dans une applet au moins ?


---------------
ma vie, mon oeuvre - HomePlayer
n°504737
nartu elxe
Gul Dukat Fanatic !
Posté le 02-09-2003 à 09:59:26  profilanswer
 

benou a écrit :

:heink:  
peu importe ce que j'utilise, ca compile !
envoie les messages d'erreur du compilo...
 
et puis j'en sais rien moi, si il te dit qu'il a pas le droit de lire le fichier, c'est certainement qu'il a pas le droit de le lire [:spamafote]
 
t'essayerai pas lancer le truc dans une applet au moins ?


 
oups, bah je lance ca justement dans une applet vu que j'voudrais l'utiliser dans une page htmoul...mais merci de l'info, j'vais tester ca dans une frame

n°504758
nartu elxe
Gul Dukat Fanatic !
Posté le 02-09-2003 à 10:16:05  profilanswer
 

ca marche dans une frame, c cool!!!!
mais c koi exactement le probleme avec les applets?

mood
Publicité
Posté le 02-09-2003 à 10:16:05  profilanswer
 

n°504766
benou
Posté le 02-09-2003 à 10:23:09  profilanswer
 

:pfff:  
 
une applet a des droits réduit pour des raisons évidentes de sécurité => pas d'accès disque, à moins qu'elle soit certifiée.
 
en plus si le but c'est de la diffuser "au grand public", comment tu peux espérer te servir de JAI ? Tu vas leur demander à tous de l'installer ?
 
PS : j'attend mes erreurs de compile... :)


Message édité par benou le 02-09-2003 à 10:54:16

---------------
ma vie, mon oeuvre - HomePlayer
n°504910
nartu elxe
Gul Dukat Fanatic !
Posté le 02-09-2003 à 11:48:17  profilanswer
 

ouais mais le but, c que les users puissent stocker leurs images sur mon serveur, mais pour eviter qu'elles soient enormes, j'veux justement utiliser cette classe pour les reduire
 
 
PS: j'crois que t'as mal lu, g jamais dit que ca compile pas :o , c juste que ca m'faisait une erreur a l'execution qd j'lancais l'bazar avec une applet

n°504915
benou
Posté le 02-09-2003 à 11:54:27  profilanswer
 

nartu elxe a écrit :

J'ai testé ta class mais pour la compiler, j'ai du rajouté quelques try-catch


c'est pas moi qui lit mal, c'est toi qui sait pas que c'est normal des méthodes qui peuvent générer des exceptions [:spamafote]


Message édité par benou le 02-09-2003 à 15:35:31

---------------
ma vie, mon oeuvre - HomePlayer
n°504920
benou
Posté le 02-09-2003 à 11:55:29  profilanswer
 

nartu elxe a écrit :

ouais mais le but, c que les users puissent stocker leurs images sur mon serveur, mais pour eviter qu'elles soient enormes, j'veux justement utiliser cette classe pour les reduire


il faudra que ton applet soit signée & qu'ils aient JAI d'installé, où que tu leur fasse télécharger les jar mais du coup ce sera moins rapide vu que ca utilisera pas les librairies natives.


---------------
ma vie, mon oeuvre - HomePlayer
n°504921
benou
Posté le 02-09-2003 à 11:56:02  profilanswer
 

ou bien, tu les réduit une fois uploadées sur le serveur ...


---------------
ma vie, mon oeuvre - HomePlayer
n°504981
nartu elxe
Gul Dukat Fanatic !
Posté le 02-09-2003 à 12:43:51  profilanswer
 

benou a écrit :


c'est pas moi qui lit mal, c'est toi qui c'est pas que c'est normal des méthodes qui peuvent générer des exceptions [:spamafote]


 
si je le savais pas, j'aurais jamais rajouté de try catch lol

n°504984
nartu elxe
Gul Dukat Fanatic !
Posté le 02-09-2003 à 12:46:03  profilanswer
 

benou a écrit :

ou bien, tu les réduit une fois uploadées sur le serveur ...


 
ouais...

n°504989
darklord
You're welcome
Posté le 02-09-2003 à 12:51:18  profilanswer
 

nartu elxe a écrit :


 
si je le savais pas, j'aurais jamais rajouté de try catch lol


 
ah ah, petit comique :sweat:


---------------
Just because you feel good does not make you right
n°505120
benou
Posté le 02-09-2003 à 14:20:52  profilanswer
 

DarkLord a écrit :


ah ah, petit comique :sweat:


l'humour c'est mieux quand c'est drôle  :pfff:


---------------
ma vie, mon oeuvre - HomePlayer
n°505311
the real m​oins moins
Posté le 02-09-2003 à 15:49:32  profilanswer
 

:sweat:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°510142
nartu elxe
Gul Dukat Fanatic !
Posté le 08-09-2003 à 13:14:39  profilanswer
 

En fait, j'utilise de l'asp sur mon site
 
j'ai trouvé un code ki redimensionne l'image mais uniquement en pixel:
 

Citation :


<%@ Page Language="VB" Debug="true" %>
<%@import Namespace="System.xml"%>
<%@import Namespace="System.io"%>
 
<script language="VB" runat="server">
Sub redimImage(inImg, inW, inH, inMW, inMH)
  ' Cette function recoit 5 parametres
  ' inImg : Chemin relatif de l'image
  ' inW   : Largeur de l'image
  ' inH   : Hauteur de l'image
  ' inMW  : Largeur maximale
  ' inMH  : Hauteur maximale
  Dim maxWidth, maxHeight, dW, dH, h, w
   
  maxWidth = CInt(inMW)
  maxHeight = CInt(inMH)
  ' Declarations des variables "Nouvelle Taille"
  dW = 0
  dH = 0
  ' On recupere les tailles reelles
  h = CInt(inH) : w = CInt(inW)
  dH = CInt(inH) : dW = CInt(inW)
  ' Si la largeur ou la hauteur depasse la taille maximale
  If h >= maxHeight Or w >= maxWidth Then
    ' Si la largeur et la hauteur depasse la taille maximale
    If h >= maxHeight And w >= maxWidth Then
      ' On cherche la plus grande valeur
      If h > w Then
        dH = maxHeight
        ' On recalcule la taille proportionnellement
        dW = CInt((w * dH) / h)
      Else
        dW = maxWidth
        ' On recalcule la taille proportionnellement
        dH = CInt((h * dW) / w)
      End If
    ElseIf h > maxHeight And w < maxWidth Then
      ' Si la hauteur depasse la taille maximale
      dH = maxHeight
      ' On recalcule la taille proportionnellement
      dW = CInt((w * dH) / h)
    ElseIf h < maxHeight And w > maxWidth Then
      ' Si la largeur depasse la taille maximale
      dW = maxWidth
      ' On recalcule la taille proportionnellement
      dH = CInt((h * dW) / w)
    End If
  End If
  ' On ecrit l'image dans le document
  Response.Write ("<img src=""" & inImg & """ width=""" & dW & """ height=""" & dH & """ border=""0"">" )
End Sub
 
</script>
 
<html>
<head>
<title>Miniatures</title>
</head>
<body>
<%
redimImage ("image/eaec.jpg", 200, 300, 100, 100)
%>
</body>
</html>


 
est-il possible de reduire une image en octet et en pixel en asp?


Message édité par nartu elxe le 09-09-2003 à 14:27:51
n°510959
nartu elxe
Gul Dukat Fanatic !
Posté le 09-09-2003 à 14:28:01  profilanswer
 

[:belgarion_cer]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  Reduction d'images numeriques

 

Sujets relatifs
album photo qui scan un rep. et affiche les images sur une page html?marge en bas des images dans mes div
[HTML] Dossier protégé, les images s'affichent randomquestion bete sur les liens et les images
probleme de miniatures d'imagesFaire défiler des images...
[APACHE] protéger des images avec .htaccess ?[HTML/JS] espace entre des images à la suite
PHP images truecolor et transparence[ASP.Net/VB.Net] Envoi de mail pour consultation offline des images ?
Plus de sujets relatifs à : Reduction d'images numeriques


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR