Gestion de miniatures d'images

Résolu
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 - 26 oct. 2006 à 13:46
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre 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.

4 réponses

cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
26 oct. 2006 à 14:02
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)
3
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 1
26 oct. 2006 à 14:44
Merci à toi,

Le code de l'exemple a l'air sympa et relativement simple !
0
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 1
26 oct. 2006 à 16:00
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 !
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
26 oct. 2006 à 16:13
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)
0
Rejoignez-nous