- [C#] Bắt sự kiện bàn phím chuột bên ngoài ứng dụng winform sử dụng thư viện MouseKeyHook
- [DEVEXPRESS] Đặt mật khẩu và bỏ mật khẩu tập tin file PDF
- [C#] Thêm ứng dụng vào Taskbar sử dụng SharpShell DeskBand
- [C#] Hướng dẫn thêm text vào hình ảnh icon winform
- [C#] Chia sẽ tổng hợp source code đồ án về Csharp
- [C#] Hướng dẫn viết ứng dụng quay màn hình video winform, Screen Recorder
- [C#] Hướng dẫn sử dụng thư viện Input Simulator để làm việc với Keyboard, Mouse Virtual
- [DEVEXPRESS] Hướng dẫn tích Filter Contain khi click chuột phải vào cell selection trên Gridview
- [C#] Tra cứu mã số thuế cá nhân bằng CMND hoặc CCCD
- [C#] Convert hình ảnh image thành Blurhash sử dụng trong loading image winform
- [POWERSHELL] Script sao lưu backup và nén database sqlserver
- [C#] Giới thiệu thư viện Autofac Dependency Injection
- [C#] Hướng dẫn tạo Windows Services đơn giản Winform
- [C#] Một click chuột điều khiển máy tính từ xa sử dụng Ultraviewer
- Hướng dẫn đóng gói phần mềm sử dụng Powershell biên dịch script thành file exe
- [C#] Hướng dẫn sử dụng Task Dialog trên NET 5
- [C#] Hướng dẫn xem lịch sử các trang web đã truy cập trên Chrome Browser
- [C#] Hướng dẫn lấy thông tin Your ID và Password của Ultraviewer Winform
- [C#] Hướng dẫn lấy thông tin Your ID và Password của Teamviewer Winform
- [C#] Hướng dẫn build code động xuất file exe trên Winform
Chụp hình lại từng control trên Form một cách đơn giản
Bài viết hôm nay mình giới thiệu các bạn cách làm thế nào để chụp hình tức thời của từng control đang có trên form của mình. Bài này chủ yếu mang tính giải trí thôi nhưng thông qua đó bạn biết thêm một vài lệnh về Graphics nếu bạn sáng tạo có thể tạo được thêm nhiều tiện ích khác từ nó. Bài này mình làm đơn giản chủ yếu giới thiệu cho bạn cách nó hoạt động còn muốn phát triển thêm thì tùy vào sự sáng tạo của các bạn đó:
Bạn thiết kế form như hình sau nhé:
Đoạn này là hàm để chụp lại một control bất kỳ. Đối tượng truyền vào là control cần chụp lại hình và kết quả trả về sẽ hiển thị lên PictureBox bên dưới
void ControlToBitmap(Control ctrol)
{
Size ctrlSize = ctrol.Size;
Rectangle rect = new Rectangle(new Point(0, 0), ctrlSize);
Bitmap bitmap = new Bitmap(ctrlSize.Width, ctrlSize.Height);
ctrol.DrawToBitmap(bitmap, rect);
Bitmap result = new Bitmap(ctrlSize.Width, ctrlSize.Height);
Graphics g = Graphics.FromImage(result);
rect.Size = ctrlSize;
g.DrawImage(bitmap, rect);
picResult.Image = result;
}
Còn đây là code cho nút "Chụp"
private void btnCapture_Click(object sender, EventArgs e)
{
switch (cboChoose.SelectedIndex)
{
case 0:
ControlToBitmap(button2);
break;
case 1:
ControlToBitmap(comboBox2);
break;
case 2:
ControlToBitmap(pictureBox1);
break;
case 3:
ControlToBitmap(textBox1);
break;
default:
break;
}
}
Ở ví dụ trên của mình các bạn có thể gõ text vào trong TextBox, Chọn hình khác và chọn Item khác trên Combobox rồi "Chụp" lại để thấy sự thay đổi
Chúc các bạn vui với bài tập trên!
Download (nếu các bạn làm biếng code lại ^^)