06. august 2005 - 18:04Der er
11 kommentarer og 1 løsning
Billede Fremvisning
Hey! Jeg har en masse billeder jeg gerne vil fremvise på min hjemmeside. Dog synes jeg måden jeg selv ville gøre det på, var alt for tidskrævende, da der er godt 500!
Så jeg tænkte om der var nogle smarte hoveder der kunne fortælle mig hvordan jeg kan scalere billederne ned til x * y, så man kan se hvilket billede det er man vælger. Og når man så trykker på denne, vil få det originale billede i fuld størrelse?
PS. Hvilket sprog dette bliver gjort i er sådan set ligegyldigt, bare jeg får en lille pointer i hvad der skal rettest i, for at indsætte de forskeliige billeder.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
ASP.NET giver dig bla. mulighed for at lave billedeskalering på serveren, hvilket betyder at du ikke behøver et 3. partsprogram som f.eks. PhotoShop eller PaintShop Pro for at skalere billeder inde de kan ses på dit site.
Jeg har noget kode som jeg selv bruger. Det aflæser et katalog på serveren, genererer thumbnails og skalerer desuden det "store" billede på serveren, når det efterspørges af klienten (i det tilfælde at billedet som i mit tilfælde er 2048x1536 og derfor stadig lidt for stort til en lille forbindelse). Koden er lidt "grovkornet", så det er ikke sikkert du kan bruge det direkte, men du kan måske bruge det som udgangspunkt for din egen implementering...
#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); }
/// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion
foreach(string keyname in typeKey.GetSubKeyNames()) { RegistryKey curKey = classesRoot.OpenSubKey(@"MIME\Database\Content Type\" + keyname); if(Convert.ToString(curKey.GetValue("Extension")).ToLower() == dotExt) { //Debug.WriteLine("Content type was " & keyname) return keyname; } }
return ""; }
private bool ImgAbort() { return false; } }
Jeg har lavet et namespace alias (drw), fordi der er navnesammenfald mellem Drawing.Image og WebControls.Image. Det ser således ud i using-sektionen:
using drw = System.Drawing;
Siden tager nogle querystring-parametre som styrer hvilken størrelse billedet skal skaleres i, men det kan du måske selv gennemskue hvordan du skal ændre. Desuden cacher den de små ikoner i thumbs-folderen, så de ikke skal genereres hver gang siden med ikoner vises.
Det skal du ikke undskylde - du vendte jo tilbage i sidste ende.
Tak for point :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.