Страница: 1 |
|
Вопрос: GetPixel & SetPixel
|
Добавлено: 28.12.08 11:56
|
|
Автор вопроса: @lex
|
Подскажите как можно ускорить код)
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Sub Command1_Click()
Dim D, X, Y, C As Long
D = GetWindowDC(GetDesktopWindow)
For X = 1 To Screen.Width / 15
For Y = 1 To Screen.Height / 15
SetPixel D, X, Y, 16777215 - GetPixel(D, X, Y)
Next Y
Next X
End Sub
VB или VB.NET) Не принципиально)
|
Номер ответа: 1 Автор ответа: @lex
Вопросов: 14 Ответов: 262
|
Профиль | | #1
|
Добавлено: 28.12.08 12:13
|
- Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
- Private Declare Function GetDesktopWindow Lib "user32" () As Long
- Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
- Private Const SRCCOPY = &HCC0020
- Private Const SRCINVERT = &H660046
- Private Sub Command1_Click()
- D = GetWindowDC(GetDesktopWindow)
- BitBlt D, 0, 0, Screen.Width / 15, Screen.Height / 15, D, 0, 0, SRCINVERT
- End Sub
BitBlt D, 0, 0, Screen.Width / 15, Screen.Height / 15, D, 0, 0, SRCINVERT это то что нужно, но почему-то выдает просто черный цвет((
Хотя BitBlt D, 0, 0, Screen.Width / 15, Screen.Height / 15, D, 0, 0, SRCCOPY прекрасно работает)
|
Номер ответа: 2 Автор ответа: @lex
Вопросов: 14 Ответов: 262
|
Профиль | | #2
|
Добавлено: 28.12.08 12:16
|
Или SRCINVERT делает не то что я подумал, и мне надо идти убится апстену?)
|
Номер ответа: 3 Автор ответа: @lex
Вопросов: 14 Ответов: 262
|
Профиль | | #3
|
Добавлено: 28.12.08 12:19
|
Угу) То что я подумал делает DSTINVERT ))
Всем спасибо
Тему можно закрывать)))))
|
Страница: 1 |
Поиск по форуму