Прокомментировать код

Что содержится в переменной lColor и что означает And &HFF?
Private Sub Command1_Click()
Dim b1 As Byte, b2 As Byte, b3 As Byte
Dim lColor&, x&, y&, Gray!
 
pic2.Cls
For x = 0 To pic1.ScaleWidth
For y = 0 To pic1.ScaleHeight
lColor = pic1.Point(x, y)
b1 = lColor And &HFF 'Красный
b2 = (lColor \ 256) And &HFF 'Зеленый
b3 = (lColor \ 65536) And &HFF 'Синий
Gray = b1 * 0.3 + b2 * 0.59 + b3 * 0.11
lColor = RGB(Gray, Gray, Gray)
pic2.PSet (x, y), lColor
Next y
DoEvents
Next x
End Sub
1 ответ

Так-то это не к нам, а в раздел VB6. Но осмелюсь предположить, что &HFF = 255. Тут важно, что 255 в двоичной системе = 1111 1111, а AND это
Побитовое И — это бинарная операция, действие которой эквивалентно применению логического И к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 1, результирующий двоичный разряд равен 1; если же хотя бы один бит из пары равен 0, результирующий двоичный разряд равен 0.
Что содержится в переменной lColor
А в переменную lColor попадает цвет текущего пикселя картинки