private void createGallery()
{
// Anzahl der Bilder
int intImageAmount = fileInfo.Length;
// Kein Bild vorhanden, dann Methode beenden
if (intImageAmount == 0)
return;
// Bilderzähler
int intCurrentImageCount = 0;
// Tabellenaufbau starten
Label lbl1 = new Label();
lbl1.Text = "<table width='100%' border='0'>";
thisPanelGallery.Controls.Add(lbl1);
while (true)
{
// Tabellenaufbau Fortsetzung
Label lbl2 = new Label();
lbl2.Text = "<tr>";
lbl2.Text += "<td width='*'></td>";
thisPanelGallery.Controls.Add(lbl2);
for (int j = 0; j < 4; j++)
{
Label lbl3 = new Label();
Label lbl4 = new Label();
// Dieses Linkbutton enthält später das anklickbare Bild
LinkButton lnkBtn = new LinkButton();
if (intCurrentImageCount < intImageAmount)
{
// So lange noch Bilder vorhanden sind
// Tabellenzelle mit Bild erstellen
if (!File.Exists(Server.MapPath("bilder/fotogalerie/" + strControl + "/thumbs/" +
fileInfo[intCurrentImageCount].Name)))
{
// Wenn die Thumbnaildatei zum aktuellen Bild nicht existiert
// Bitmap Object vom aktuellen Bild ersetlle
Bitmap bmp = new Bitmap(Server.MapPath("bilder/fotogalerie/" + strControl
+ "/orginal/" + fileInfo[intCurrentImageCount].Name));
// Thumbnail erstellen
SaveJPGWithCompressionSetting(GetThumbnail(bmp), Server.MapPath
("bilder/fotogalerie/" + strControl + "/thumbs/" +
fileInfo[intCurrentImageCount].Name), 60, "thumbs");
// Bild mit angepasster Größe erstellen
SaveJPGWithCompressionSetting(GetFullsizeImage(bmp), Server.MapPath
("bilder/fotogalerie/" + strControl + "/normal/" +
fileInfo[intCurrentImageCount].Name), 80, "normal");
}
// Linkbutton mit Bild und Eigenschaften bestücken
lnkBtn.Text = "<img border='0' src='" + Connection.createEmailUrl()
+ "bilder/fotogalerie/" + strControl + "/thumbs/" +
fileInfo[intCurrentImageCount].Name + "'>";
lnkBtn.CommandArgument = "bilder/fotogalerie/" + strControl + "/normal/" +
fileInfo[intCurrentImageCount].Name;
lnkBtn.CommandName = intCurrentImageCount.ToString();
lnkBtn.Click += new EventHandler(lnkBtn_Click);
// Tabellenaufbau Fortsetzung
lbl3.Text = "<td align='center' width='115' height='110'>";
lbl3.Text += "<table cellpadding='0' cellspacing='0' width='110'
border='0'>";
lbl3.Text += "<tr>";
lbl3.Text += "<td height='20' background='" +
Connection.createEmailUrl() + "bilder/fotogalerie/top.gif'></td>";
lbl3.Text += "</tr>";
lbl3.Text += "<tr>";
lbl3.Text += "<td height='70' background='" +
Connection.createEmailUrl() +
"bilder/fotogalerie/middle.gif' align='center' valign='top' class='StandardSchrift'>";
// Tabellenaufbau Fortsetzung
lbl4.Text = "</td>";
lbl4.Text += "</tr>";
lbl4.Text += "<tr>";
lbl4.Text += "<td height='11' background='" +
Connection.createEmailUrl() + "bilder/fotogalerie/bottom.gif'></td>";
lbl4.Text += "</tr>";
lbl4.Text += "</table>";
lbl4.Text += "</td>";
}
else
{
// Wenn keine Bilder mehr vorhanden sind
// Leere Tabellenzelle ohne Bild erstellen
// Tabellenaufbau Fortsetzung
lbl4.Text += "<td width='115' height='90'> ";
lbl4.Text += "</td>";
}
thisPanelGallery.Controls.Add(lbl3);
thisPanelGallery.Controls.Add(lnkBtn);
thisPanelGallery.Controls.Add(lbl4);
// Bilderzähler hochzählen
intCurrentImageCount++;
}
// Tabellenaufbau Fortsetzung
Label lbl5 = new Label();
lbl5.Text = "<td width='*'></td>";
lbl5.Text += "</tr>";
thisPanelGallery.Controls.Add(lbl5);
// Wenn keine Bilder mehr vorhanden sind
// Endlosschleife beenden
if (intCurrentImageCount > intImageAmount-1)
break;
}
// Tabellenaufbau beenden
Label lbl6 = new Label();
lbl6.Text = "</table>";
thisPanelGallery.Controls.Add(lbl6);
}