Ik zit al een tijd te zoeken om een oplossing te vinden voor het volgende:
Ik heb een webapplicatie die vanuit user input een aantal afbeeldingen moet laten zien.
Nu wil ik deze afbeeldingen (meestal een stuk of 3-5) als een kleine galerie laten zien. Het probleem is dat het een visitekaartje kan zijn tot een A3 poster, dus wil ik de afbeeldingen plaatsen met behoud van de verhouding en niet zoals huidig met een statische afmeting. Daarnaast moet het een thumbnail zijn die doorlinkt naar de lokatie van de originele afbeelding om deze volledig in een nieuw venster te zien.
Ik heb wat zitten zoeken en ben tot dit stukje code gekomen maar dat wil ook niet echt werken:
Bovendien wil ik de afbeelding niet aanpassen maar alleen tijdelijk verkleind weergeven.
Bij de eerste regel krijg ik al een FileNotFoundException, terwijl de lokatie toch echt klopt als ik er handmatig heenga.
Hoe kan ik dat het beste aanpakken? Wat hulp zal ik erg waarderen.
Ik heb een webapplicatie die vanuit user input een aantal afbeeldingen moet laten zien.
Nu wil ik deze afbeeldingen (meestal een stuk of 3-5) als een kleine galerie laten zien. Het probleem is dat het een visitekaartje kan zijn tot een A3 poster, dus wil ik de afbeeldingen plaatsen met behoud van de verhouding en niet zoals huidig met een statische afmeting. Daarnaast moet het een thumbnail zijn die doorlinkt naar de lokatie van de originele afbeelding om deze volledig in een nieuw venster te zien.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| // Images ophalen » rProduct en rItem is het gevraagde product en itemnummer string getImageQuery = "SELECT image FROM images WHERE product ='" + rProduct + "' AND item =" + rItem + ";"; SqlCommand sqlcmdgetImages = new SqlCommand(getImageQuery, verbinding); verbinding.Open(); SqlDataReader getImagesReader = sqlcmdgetImages.ExecuteReader(); while (getImagesReader.Read()) { // De bestandsstructuur is gebaseerd op de datum van het item string imageFileName = Convert.ToString(getImagesReader.GetValue(0)); // Kijken of het een JPEG-afbeelding of PDF-afbeelding is string fileExtention = new string(imageFileName.ToCharArray((imageFileName.Length - 3), 3)); if (fileExtention == "jpg") { // Locatie van het item zoeken string imageYear = itemDate.ToString("yyyy"); int imageMonth = itemDate.Month; string imagePath = "/images/" + imageYear + "/" + imageMonth + "/" + imageFileName; |
Ik heb wat zitten zoeken en ben tot dit stukje code gekomen maar dat wil ook niet echt werken:
Bovendien wil ik de afbeelding niet aanpassen maar alleen tijdelijk verkleind weergeven.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| System.Drawing.Image original = System.Drawing.Image.FromFile(imagePath); float aspect = (float)original.Height / (float)original.Width; int newWidth = 322; int newHeight = (int)(newWidth * aspect); Bitmap temp = new Bitmap(newWidth, newHeight, original.PixelFormat); Graphics newImage = Graphics.FromImage(temp); newImage.DrawImage(original, 0, 0, newWidth, newHeight); temp.Save("FileName"); temp.Save(outputFileName); original.Dispose(); temp.Dispose(); newImage.Dispose(); |
Bij de eerste regel krijg ik al een FileNotFoundException, terwijl de lokatie toch echt klopt als ik er handmatig heenga.
Hoe kan ik dat het beste aanpakken? Wat hulp zal ik erg waarderen.