.NET 4.x Как изменить цвет пикселей во всем изображении? - Visual Basic .NET
Формулировка задачи:
Всем знатокам доброго времени суток!
Вопрос, собственно, в заголовке. Условие задачи: Есть какое-то изображение. Требуется. 1) пройти по всем пикселям изображения, получить текущие значение цвета каждого пикселя 2) Изменить цвет указанных пикселей Спасибо за помощь и понимание.Решение задачи: «.NET 4.x Как изменить цвет пикселей во всем изображении?»
textual
Листинг программы
- Imports System.Drawing.Imaging
- Imports System.IO
- Public Class Form6
- Private src, bmp As Bitmap
- Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- bmp = New Bitmap(Path.Combine(Application.StartupPath, "clr1.jpg"))
- PictureBox1.Image = bmp
- End Sub
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- src = bmp.Clone
- toBW(TrackBar1.Value / 100)
- PictureBox2.Image = src
- End Sub
- Private Sub toBW(ByVal th As Single)
- Using gr As Graphics = Graphics.FromImage(src)
- Dim gray_matrix As Single()() = {
- New Single() {0.299F, 0.299F, 0.299F, 0, 0},
- New Single() {0.587F, 0.587F, 0.587F, 0, 0},
- New Single() {0.114F, 0.114F, 0.114F, 0, 0},
- New Single() {0, 0, 0, 1, 0},
- New Single() {0, 0, 0, 0, 1}
- }
- Dim ia As New System.Drawing.Imaging.ImageAttributes
- ia.SetColorMatrix(New System.Drawing.Imaging.ColorMatrix(gray_matrix))
- ia.SetThreshold(th)
- Dim rc As New Rectangle(0, 0, src.Width, src.Height)
- gr.DrawImage(src, rc, 0, 0, src.Width, src.Height, GraphicsUnit.Pixel, ia)
- End Using
- End Sub
- End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д