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! 