К содержимому

Изменение цветовой гаммы

Содержание номера · 11 из 18

Задача 4.

Реализовать изменение гаммы изображения (например, усиления красного цвета).

Решение (Visual Basic)

Для изменения гаммы изображения требуется увеличивать или уменьшать яркость отдельных составляющих ‒ R, G или B. Так, для усиления красного цвета нужно увеличить значение составляющей R, а значения составляющих G и B, наоборот, уменьшить.

Здесь в программе уже требуется контроль получаемых при уменьшении значений составляющих: если значение меньше нуля, то его надо приравнять нулю.

Программа при этом получает следующий вид, а получаемый результат показан на рис. 13.

Private Sub Command3_Click()
Picture2.Height = Picture1.Height
Picture2.Width = Picture1.Width
Picture2.Cls
For i = 1 To Picture1.ScaleWidth
For j = 1 To Picture1.ScaleHeight
colpix = Picture1.Point(i, j)
rcol = colpix And &HFF
gcol = Int(colpix \ &H100) And &HFF
bcol = Int(colpix \ &H10000) And &HFF
rcol = rcol + 100
gcol = gcol - 100: If gcol < 0 Then gcol = 0
bcol = bcol - 100: If bcol < 0 Then bcol = 0
Picture2.PSet (i, j), RGB(rcol, gcol, bcol)
Next j
Next i
End Sub

Статья обрывается здесь. Весь номер — 18 статей — 190 ₽ (≈ 11 ₽ за статью), остаётся у вас навсегда.

Войти, чтобы купить
  1. 12 Изменение контраста
  2. 13 Инверсия цветов (негатив)
  3. 14 Преобразование цветного рисунка в монохромный

Первая статья открыта всем — читать «Введение»