Gestion de miniatures d'images [Résolu]

Messages postés
136
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 avril 2009
- - Dernière réponse : cs_Nurgle
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
- 26 oct. 2006 à 16:13
Dans le but de proposer des aperçus et pour ne pas retarder les temps de téléchargement, je me suis intéressé à la gestion des miniatures d'images.

S'il s'agit de le mettre en oeuvre sur une application poste à poste, pas de souci. Sur un site Web dynamique en revanche, j'ai furieusement besoin de votre aide. En récupérant un bout de code du Msdn et en l'adaptant quelque peu, ci-dessous :

-------------------------------------------------------------------------------------
System.Drawing.Image.GetThumbnailImageAbort maMin =
new System.Drawing.Image.GetThumbnailImageAbort(Retour);

System.Drawing.Bitmap monImage = new System.Drawing.Bitmap(MapPath("") + "/societes_photos/" + lecteur["societes_photo1"].ToString());

System.Drawing.Image maMini = monImage.GetThumbnailImage( 58, 40, maMin, IntPtr.Zero);

string test=MapPath("") + "\\societes_photos\\transit" + verif.ToString() + ".jpg";
maMini.Save(test);
test = test.Substring(test.IndexOf("societes_photos"));

miniature.Text = "";
-------------------------------------------------------------------------------------

Ce code est dans une boucle...
Cette solution n'est malheuresement pas acceptable, car j'enregistre une copie de chaque miniature sur le serveur. S'il y a bcp de clients connectés, c'est absurde et je vais vite saturer le disque à moins de faire de la place...

Bref, n'y a t-il pas un moyen pour afficher la miniature dans un contrôle Sevreur tel un Asp:Label (ici il s'appelle miniature), sans passer par une sauvegarde, par exemple, un stockage temporaire en mémoire du client...

Please Help me, un petit pas pour la communauté, un bon de géant for me.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
3
Merci
Salut,

Il y a effectivement un moyen : passer par un Handler

En gros tu crées un handler miniature.ashx, qui va prendre en QueryString un paramètre, du genre l'ID ou le nom unique l'image à afficher, et qui va faire le traitement et te renvoyer la miniature en question.

Le lien qui va bien : http://humann.developpez.com/httphandler/

Une dernière petite chose : utilises une méthode de Caching pour tes miniatures, pour éviter le recalcul de l'image à chaque requête (sinon ça devient vite catastrophique )

A++

<hr width="100%" size="2" />Nurgle(Antoine)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 128 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Nurgle
Messages postés
136
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 avril 2009
0
Merci
Merci à toi,

Le code de l'exemple a l'air sympa et relativement simple !
Commenter la réponse de cs_yous
Messages postés
136
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 avril 2009
0
Merci
Tiens au passage, comme tu as l'air très calé, est-il possible de changer dynamiquement les informations du HEAD d'une page HTML avec VS2003 (C#), comme par exemple le Title de la page ?

Les renseignements que l'on m'a fournis jusque là ne fonctionnent pas !
Commenter la réponse de cs_yous
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
0
Merci
y ait répondu au bon endroit : http://www.aspfr.com/infomsg_INFOS-DYNAMIQUES-DANS-TITLE-ASPX_833264.aspx#1 

Bonne journée,
A++

<hr width="100%" size="2" />Nurgle(Antoine)
Commenter la réponse de cs_Nurgle