Hiển thị ảnh ở dạng thumbnail trong C#
Ví dụ bên dưới gồm các bước minh họa cụ thể cách hiển thị các ảnh ở dạng thumbnail. Ở ví dụ này chúng ta sử dụng 4 tấm ảnh hiển thị dạng thumbnail trên 1 ListView, và kích thước mỗi tấm ảnh được hiển thị trên ListView là 100×100 pixel. Các bước cụ thể như sau: Bước 1 : thiết lập ...
Ví dụ bên dưới gồm các bước minh họa cụ thể cách hiển thị các ảnh ở dạng thumbnail.
Ở ví dụ này chúng ta sử dụng 4 tấm ảnh hiển thị dạng thumbnail trên 1 ListView, và kích thước mỗi tấm ảnh được hiển thị trên ListView là 100×100 pixel.
Các bước cụ thể như sau:
- Bước 1: thiết lập kích thước hiển thị cho ảnh
Chương trình sẽ tự động thay đổi kích thước 4 tấm ảnh về 100×100 pixel
int awidth = 100; int height = 100;
Chú ý: chiều rộng tối đa là 256 pixel, nếu thiết lập lớn hơn 256 pixel thì sẽ bị lỗi
- Bước 2: dùng đối tượng ImageList để chứa 4 tấm ảnh được đọc về
– Lần lược đọc 4 tấm ảnh và đổi kích thước về kích thước đã qui định ở bước 1, rồi sau đó gán vào ImageList.
– Sau đó dùng một mãng để chứa tên 4 tấm ảnh vừa đọc về
ImageList imgList = new ImageList(); imgList.ImageSize = new Size(awidth, height); // Image image1 = Image.FromFile(@"D:ImagesAvatars3-chang-ngu-lam.jpg"); Image imageThumbnail1 = image1.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail1); // Image image2 = Image.FromFile(@"D:ImagesAvatarsPhanThiet.jpg"); Image imageThumbnail2 = image2.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail2); // Image image3 = Image.FromFile(@"D:ImagesAvatarsPhanThiet-1.jpg"); Image imageThumbnail3 = image3.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail3); // Image image4 = Image.FromFile(@"D:ImagesAvatarsPhanThiet-2.jpg"); Image imageThumbnail4 = image4.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail4); // Tên của từng bức ảnh string[] imageNames = { "Suối hồng", "Phan Thiết", "Hòn rơm", "Titanic" };
- Bước 3: đưa 4 tấm ảnh trong ImageList vào ListView để hiển thị
– Dùng thuộc tính LargeImageList để đưa danh dách hình ảnh ImageList vào ListView
– Lần lược thiết lập thông tin cho từng ảnh, sau đó đưa vào ListView
listViewImage.LargeImageList = imgList; for (int i = 0; i < imgList.Images.Count; i++) { ListViewItem item = new ListViewItem(); item.ImageIndex = i; item.Text = imageNames[i]; item.ToolTipText = imageNames[i]; listViewImage.Items.Add(item); }
Dưới đây là đoạn code hoàn chỉnh:
using System; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace MyProject { public partial class FrmViewThumbnailImage : Form { public FrmViewThumbnailImage() { InitializeComponent(); } private void FrmViewThumbnailImage_Load(object sender, EventArgs e) { // Bước 1 int awidth = 100; int height = 100; // Bước 2 ImageList imgList = new ImageList(); imgList.ImageSize = new Size(awidth, height); // Image image1 = Image.FromFile(@"D:ImagesAvatars3-chang-ngu-lam.jpg"); Image imageThumbnail1 = image1.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail1); // Image image2 = Image.FromFile(@"D:ImagesAvatarsPhanThiet.jpg"); Image imageThumbnail2 = image2.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail2); // Image image3 = Image.FromFile(@"D:ImagesAvatarsPhanThiet-1.jpg"); Image imageThumbnail3 = image3.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail3); // Image image4 = Image.FromFile(@"D:ImagesAvatarsPhanThiet-2.jpg"); Image imageThumbnail4 = image4.GetThumbnailImage(awidth, height, null, new IntPtr()); imgList.Images.Add(imageThumbnail4); // Tên của từng bức ảnh string[] imageNames = { "Suối hồng", "Phan Thiết", "Hòn rơm", "Titanic" }; // Bước 3 listViewImage.LargeImageList = imgList; for (int i = 0; i < imgList.Images.Count; i++) { ListViewItem item = new ListViewItem(); item.ImageIndex = i; item.Text = imageNames[i]; item.ToolTipText = imageNames[i]; listViewImage.Items.Add(item); } } } }
Khi bạn chạy chương trình được kết quả như sau:
Chúc các bạn thành công!