Salve a tutti,
sono ancora una volta a chiedere il Vs. aiuto per risolvere un problema che a me fa andare nei pazzi... ho trovato uno script che crea le thumbnail delle immagini caricate sul server, ma purtroppo e in ASPNET e io non capisco un bel niente...non è che qualche anima buona potrebbe dare un okkiata a qst script che posto qui sotto e dirmi:
code:
--------------------------------------------------------------------------------
<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Text.RegularExpressions" %>
<script runat="server">
int MaxWidth = 100; // Larghezza massima dopo il quale l'immagine viene ridimensionata
int MaxHeight = 100; // Altezza massima dopo il quale l'immagine viene ridimensionata
int ScaleFactor = 20; // Fattore di scala per la miniatura
System.Drawing.Image oldImage, newImage;
void Page_Load(Object sender, EventArgs e) {
if ( Request.QueryString["FileName"] != null ) {
string strFileName = Convert.ToString(Request.QueryString["FileName"]);
if ( Request.QueryString["ScaleFactor"] != null && Convert.ToString(Request.QueryString["ScaleFactor"]) != "" && IsInteger(Convert.ToString(Request.QueryString["scalefactor"])) ) ScaleFactor = Convert.ToInt32(Request.QueryString["ScaleFactor"]);
if ( strFileName != "" ) {
try {
oldImage = System.Drawing.Image.FromFile( Server.MapPath(strFileName) );
if ( oldImage.Width > MaxWidth || oldImage.Height > MaxHeight ) {
// Immagine troppo grande, visualizzo la miniatura
newImage = oldImage.GetThumbnailImage( (oldImage.Width*ScaleFactor/100), (oldImage.Height*ScaleFactor/100), null, IntPtr.Zero);
Response.ContentType = "image/jpeg";
newImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
oldImage.Dispose();
newImage.Dispose();
oldImage = null;
newImage = null;
} else {
// Immagine piccola, non faccio nulla
Response.ContentType = "image/jpeg";
oldImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
oldImage.Dispose();
oldImage = null;
}
} catch (Exception ex) {
Response.Write(ex.Message);
}
}
}
}
private bool IsInteger(string strTmp) {
Regex objNotIntPattern = new Regex("[^0-9-]");
Regex objIntPattern = new Regex("^-[0-9]+$|^[0-9]+$");
return !objNotIntPattern.IsMatch(strTmp) && objIntPattern.IsMatch(strTmp);
}
</script>
--------------------------------------------------------------------------------
----(PAGINA GETTHUMB.ASPX)
distribuire le immagini in righe e colonne perche' adesso me ne visualizza una sola.
l'altra pagina è invece:
code:
--------------------------------------------------------------------------------
<html><head><title>FreeASP.it</title></head><body>[img]GetThumbnailImage.aspx?FileName=Immagine.jpg&Scale Factor=20[/img]</body></html>
--------------------------------------------------------------------------------
una semplice pagina html che visualizza le immagini.
Spero che qualcuno di voui mi sappia dare una mano.
Grazie