dhn46
Hướng tới tương lai
- Tham gia
- 1/3/11
- Bài viết
- 3,251
- Được thích
- 3,870
Xin chào GPE,
Dhn46 xin hỏi vấn đề sau nhờ các anh chị trợ giúp:
Để đọc Pixel từ 1 ảnh dhn46 dùng code:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Để tái tạo Pixel thu được thì Dhn46 dùng code
Việc sử dụng GetPixel cho tốc độ đọc rất chậm đặc biệt setup độ phân giải cao. Vậy có cách nào lấy Pixel nhanh hơn cách GetPixel hay không? (Mục đích đưa toàn bộ Pixel thu được vào Array)
Dhn46 có đính kèm file nháp để các chị dễ hình dung câu hỏi.
Mong nhận được phản hồi từ các anh chị.
Dhn46 xin hỏi vấn đề sau nhờ các anh chị trợ giúp:
Để đọc Pixel từ 1 ảnh dhn46 dùng code:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Mã:
Sub GetPicPixel()
Dim lColor As String
Dim winHwnd As Long
Dim i As Integer, j As Integer
winHwnd = GetWindowDC(0)
For i = 32 To 600 Step 5
For j = 187 To 777 Step 5
lColor = GetPixel(winHwnd, i, j)
Sheet1.Cells(j / 5 - 36, i / 5 + 10).Interior.Color = lColor
Next
Next
End Sub
Để tái tạo Pixel thu được thì Dhn46 dùng code
Mã:
Private Sub PrintPic()
Dim i As Long
Dim j As Long
Arr = Sheet1.[P1:DY119]
Draw.[D4:HZ137].Interior.Color = 5287936
For i = 1 To UBound(Arr, 1)
For j = 1 To UBound(Arr, 2)
Draw.Cells(i + 10, j + 60).Interior.Color = Arr(i, j)
Next
Next
End Sub
Dhn46 có đính kèm file nháp để các chị dễ hình dung câu hỏi.
Mong nhận được phản hồi từ các anh chị.