Ta có thể gặp hiệu ứng chuyển ảnh trong rất nhiều ứng dụng, chẳng hạn như trong một số screen saver thay đổi hình ảnh, duyệt ảnh ở chế độ slideshow trong các chương trình quản lý ảnh, các hiệu ứng “Slide Transition” của PowerPoint… Khi viết những ứng dụng làm việc với hình ảnh bằng Visual Basic 6, sử dụng hiệu ứng chuyển ảnh sẽ đem lại tính nghệ thuật, đặc sắc cho ứng dụng. Ta hoàn toàn có thể tự thiết kế các hiệu ứng chuyển ảnh (sử dụng phương thức PaintPicture của PictureBox hoặc các hàm API BitlBlt, StretchBlt). Ở đây, tôi giới thiệu một cách làm đơn giản hơn với các hiệu ứng rất đẹp mắt, độc đáo, đó là sử dụng điều khiển vbk Transition của VBKeys gồm 12 hiệu ứng chuyển ảnh.
Hiệu ứng Horizontal and Vertical Lines
Hiệu ứng Horizontal and Vertical Window Open
Bạn tải về tập tin c18.zip từ địa chỉ http://www.vbkeys.com/download/c18.zip (87 KB). Tập tin nén này chứa điều khiển vbk Transition (tập tin vbkTransition.ctl) và chương trình minh họa.
Sử dụng vbk Transition
Bạn thực hiện theo ví dụ sau để biết cách sử dụng vbk Transition.
- Bạn tạo dự án mới dạng Standard EXE. Bạn sao chép 2 tập tin vbkTransition.ctl và modMain.bas từ tập tin c18.zip để thêm vào dự án:
+ Thêm điều khiển vbk Transition: vào menu Project\ Add User Control > chọn thẻ Existing trong cửa sổ Add User Control > tìm đến tập tin vbkTransition.ctl > nhấn Open > nhấn đúp chuột vào biểu tượng vbk Transition trên Toolbox để thêm điều khiển vào biểu mẫu.
+ Thêm tập tin modMain.bas: vào menu Project\ Add Module > chọn thẻ Existing trong cửa sổ Add Module > tìm đến tập tin modMain.bas > nhấn Open.
- Bạn thêm vào biểu mẫu 2 PictureBox, đặt tên là picA, picB và nạp ảnh cho chúng. PicA chứa ảnh ban đầu, picB chứa ảnh sẽ chuyển qua. Hai PictureBox này phải có kích thước bằng nhau. Nếu muốn nạp ảnh vào PictureBox khi chạy chương trình, bạn sử dụng hàm LoadPicture, ví dụ: picA.Picture = LoadPicture(App.Path & "\images\picA.jpg").
(Name) | picA |
AutoRedraw | False |
Picture | (Ảnh ban đầu) |
Visible | True |
Bảng thuộc tính của PictureBox picA
(Name) | picB |
AutoRedraw | True |
Picture | (Ảnh sẽ chuyển qua) |
Visible | False |
Bảng thuộc tính của PictureBox picB
- Thủ tục ThucHienChuyenAnh dùng hiệu ứng chuyển ảnh để thay thế ảnh trong picA bằng ảnh trong picB:
Private Sub ThucHienChuyenAnh() Set vbkTransition1.objPic(A) = picA ‘Ảnh ban đầu Set vbkTransition1.objPic(B) = picB ‘Ảnh sẽ chuyển qua vbkTransition1.TranType = 2 ‘Chọn kiểu chuyển ảnh, có 12 kiểu, đánh số từ 0 đến 11 vbkTransition1.Start ‘Bắt đầu thực hiện chuyển ảnh picA.Picture = picB.Picture ‘Thay thế ảnh trong picA bằng ảnh trong picB vì tuy picA hiển thị hình ảnh trong picB nhưng picA chưa cập nhật hình ảnh này nên hình ảnh vừa thay thế sẽ mất đi khi bị cửa sổ khác che lên hay khi thu nhỏ cửa sổ biểu mẫu. End Sub |
- Khi cần thực hiện chuyển ảnh, bạn chỉ việc gọi thủ tục ThucHienChuyenAnh. Chẳng hạn như trong đoạn mã sau, việc chuyển ảnh sẽ được thực hiện khi xảy ra sự kiện nhấn CommandButton Command1:
Private Sub Command1_Click() ThucHienChuyenAnh End Sub |
Bạn thấy đấy, chỉ cần thực hiện vài thao tác là đã có thể áp dụng bộ hiệu ứng chuyển ảnh của điều khiển vbk Transition. Bạn có thể tham khảo chương trình minh họa trong tập tin c18.zip để biết thêm về cách sử dụng điều khiển. Việc tìm hiểu mã nguồn của điều khiển cũng rất ích lợi vì khi đã nắm được nguyên tắc, bạn có thể dễ dàng tạo ra các hiệu ứng chuyển ảnh khác. Chúc bạn thành công.
Thế giới @ 110
Không có nhận xét nào:
Đăng nhận xét