• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Scale một picture, vẽ đồ thị biểu diễn

Các thủ thuật về âm thanh, đồ họa, truyền thông đa phương tiện...
minhtubk
Thành viên chính thức
Thành viên chính thức
Posts: 18
Joined: Wed 02/03/2011 1:07 pm

Re: Tìm hiểu project vẽ đồ thị theo tín hiệu của chuột

Postby minhtubk » Thu 17/03/2011 12:02 pm

Cám ơn thày đã chỉ bảo ạ. Em đã làm thế này:
1- Các label không thể hiện được y do pixel quá nhỏ, vd x=5, bạn phải cho x trong khoảng thì mousemove mới bắt được vị trí nầy

Vâng, vd: thay vì cho X= 5 (tọa độ trong PictureBox khi Picture1.Scale - còn theo quy ước trục thì X=50) thì em cho X<=5 thì Label đã bắt được Y.

2- trục tọa độ chưa chính xác: x tạm được, nhưng đơn vị là mm thì to quá, nên tăng từ 20 lên 200 thì hợp mm
y khó chịu hơn, bạn cho y=0 ở giữa nhưng các thông số trên biểu đồ không thể hiện; cần chỉnh lại y từ 100 đến -100
trục x (y=0) nên có màu khác vbred
5- start chưa đưa mouse về vị trí 0,0 của đồ thị

Hệ trục tọa dộ thì có thể thay đổi được ạ, nhưng vẫn đề ở đây là: khi em dùng lệnh MoveMouse (SetCursorPos pt.X, pt.Y) thì chuột được move theo tọa độ màn hình còn tọa độ gốc (0,0) trên đồ thị lại là tọa độ của PictureBox (khi ta Picture1.Scale) vậy làm sao để set được 2 điểm đó trùng nhau? [em đã tinh chỉnh mãi nhưng vẫn chỉ được chuột về tọa độ màn hình là (258, 352) thì tương ứng với trên PictureBox là (0, 0.15341...) ]

Và em muốn hỏi thêm là làm sao để khi reset rồi start, chuột không vẽ đường thẳng nối điểm cuối (lần vẽ trước) với điểm đầu (lần vẽ này) ? vì lệnh hôm trước thầy gợi ý vẫn không có hiệu lực: "Trong Sub Picture1_MouseMove, cho dòng code đầu tiên"
  1. If X =0 And Y =0 then LastX =0
  2. If X =0 And Y =0 then LastY =0

LastX, LastY vẫn nhận giá trị điểm cuối lần vẽ trước :(



User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 520 times

Re: Tìm hiểu project vẽ đồ thị theo tín hiệu của chuột

Postby truongphu » Thu 17/03/2011 7:22 pm

Project của bạn tôi chỉnh sửa sơ bộ như sau:
* Đổi các shortcut phím theo thông lệ
* Bỏ nút reset, nhập vào start
* Giao diện tiếng Việt
Bạn hãy thêm sửa theo ý mình

Bài viết nầy nhập chung vào Box Thủ thuật để làm tài liệu sau nầy

Project.rar
(4.62 KiB) Downloaded 535 times


Giao diện tiếng Việt:
Attachments
untitled.JPG
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

minhtubk
Thành viên chính thức
Thành viên chính thức
Posts: 18
Joined: Wed 02/03/2011 1:07 pm

Re: Scale một picture, vẽ đồ thị biểu diễn

Postby minhtubk » Thu 17/03/2011 9:09 pm

Thầy làm quả là pro ạ :D nhưng thầy có thể giải thích thêm cho em một số lệnh thầy đã dùng không ạ? (vì em đọc code toàn thấy khai báo API khó quá) Cụ thể như lệnh gì để xóa line mà không xóa cả hệ tọa độ? và khi Start/Enter thì chuột không vẽ đường thẳng nối điểm cuối lần vẽ trước và điểm đầu lần vẽ này? Cho em hỏi thêm là sau khi đã vẽ được đồ thị và lấy các tọa độ thì có thể kết nối với máy in và in ra đồ thị cũng như các tọa độ vào bảng được (file Word) không ạ?

User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 520 times

Re: Scale một picture, vẽ đồ thị biểu diễn

Postby truongphu » Fri 18/03/2011 9:14 am

minhtubk wrote:toàn thấy khai báo API khó quá

các hàm api thêm vào để hổ trợ tiếng Việt unicode trên form
minhtubk wrote:xóa line mà không xóa cả hệ tọa độ?

thì xóa hết rồi vẽ lại tọa độ
minhtubk wrote:khi Start/Enter thì chuột không vẽ đường thẳng nối điểm cuối lần vẽ trước và điểm đầu lần vẽ này?

x=0, y=0 và cho lastx=0 và lasty=0
minhtubk wrote:kết nối với máy in

dùng lệnh Printer.print

Chi tiết, xem bài viết về in trong Box Thủ thuật nầy (search)
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 520 times

Phác thảo biểu diễn đồ thị liên tục (monitor)

Postby truongphu » Sun 20/03/2011 10:31 pm

** Dạng phác thảo = gợi ý = chưa hoàn chỉnh
- Biểu đồ tạm thời dựa trên mouse move (x, y)
- chạy liên tục (trục x tăng dần trị số)
** có thể phát triển: khảo sát một biến, ví dụ: monitor điện thế theo thời gian
- x của mouse move thay bằng time của Timer
- y thay với điện thế
- tinh chỉnh lại cách chạy liên tục: monitor trượt trái từng giây thì đẹp hơn
Attachments
untitled.JPG
0 Biêu do và tieng viet.rar
(4.94 KiB) Downloaded 425 times
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

minhtubk
Thành viên chính thức
Thành viên chính thức
Posts: 18
Joined: Wed 02/03/2011 1:07 pm

Re: Scale một picture, vẽ đồ thị biểu diễn

Postby minhtubk » Sat 26/03/2011 4:15 pm

Thầy ơi cho em hỏi thêm là giả sử em phải đo 4 mặt, mỗi mặt đo 4 lần (như hình vẽ). bây giờ em muốn mỗi lần đo, tức là khi CmdStart_Click thì đồ thị sẽ lấy số liệu ra các Label lần lượt theo từng cột 11,12,13,14 (vẫn giữ số liệu ở Label ở các cột trước đó) thì dùng lệnh gì ạ?
Attachments
VB.jpg
VB.jpg (25.42 KiB) Viewed 4526 times


Return to “[VB] Âm thanh và Đồ họa”

Who is online

Users browsing this forum: No registered users and 1 guest