Сделайте миниатюры и веб-страницу для отображения изображений в каталоге в C#
В этом примере выполняется поиск в каталоге и создание миниатюр для каждого из файлов изображений, которые он находит там. Он также создает веб-страницу, которая отображает миниатюры и включает ссылки на полномасштабные изображения. Он помещает все файлы (оригинальные изображения, эскизы и веб-страницы) в каталог по вашему выбору.
Следующий код показывает метод MakeWebPage, который выполняет большую часть работы.
private void MakeWebPage(string input_dir, string output_dir, string url_prefix, string web_page, int thumb_width, int thumb_height) { string html_filename = output_dir + web_page; using (StreamWriter html_file = new StreamWriter(html_filename)) { Listfiles = FindFiles(input_dir, "*.bmp;*.gif;*.jpg;*.png;*.tif", false); foreach (string image_filename in files) { FileInfo image_fileinfo = new FileInfo(image_filename); string dest_filename = output_dir + image_fileinfo.Name; File.Copy(image_filename, dest_filename, true); using (Bitmap bm = new Bitmap(image_filename)) { Rectangle src_rect = new Rectangle(0, 0, bm.Width, bm.Height); double scale = Math.Min( (double)thumb_width / bm.Width, (double)thumb_height / bm.Height); int shrunk_width = (int)(bm.Width * scale); int shrunk_height = (int)(bm.Height * scale); Rectangle dest_rect = new Rectangle(0, 0, shrunk_width, shrunk_height); using (Bitmap thumbnail = new Bitmap(shrunk_width, shrunk_height)) { using (Graphics gr = Graphics.FromImage(thumbnail)) { gr.DrawImage(bm, dest_rect, src_rect, GraphicsUnit.Pixel); } string thumb_filename = dest_filename.Substring(0, dest_filename.Length - image_fileinfo.Extension.Length) + "_thumb.png"; thumbnail.Save(thumb_filename, ImageFormat.Png); FileInfo thumb_fileinfo = new FileInfo(thumb_filename); html_file.WriteLine( "" + "" + ""); } } } html_file.Close(); MessageBox.S how("Processed " + files.Count + " images."); } } / MakeWebPage
Метод начинается с создания StreamWriter, чтобы он мог писать новую веб-страницу. Затем он вызывает метод FindFiles для получения файлов в целевой директории с расширениями bmp, gif, jpg, png или tif. См. Пример