.NET 4.x Как изменить цвет пикселей во всем изображении? - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем знатокам доброго времени суток!

Вопрос, собственно, в заголовке. Условие задачи: Есть какое-то изображение. Требуется. 1) пройти по всем пикселям изображения, получить текущие значение цвета каждого пикселя 2) Изменить цвет указанных пикселей Спасибо за помощь и понимание.

Решение задачи: «.NET 4.x Как изменить цвет пикселей во всем изображении?»

textual
Листинг программы
  1. Imports System.Drawing.Imaging
  2. Imports System.IO
  3. Public Class Form6
  4.     Private src, bmp As Bitmap
  5.     Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  6.         bmp = New Bitmap(Path.Combine(Application.StartupPath, "clr1.jpg"))
  7.         PictureBox1.Image = bmp
  8.     End Sub
  9.     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
  10.         src = bmp.Clone
  11.         toBW(TrackBar1.Value / 100)
  12.         PictureBox2.Image = src
  13.     End Sub
  14.     Private Sub toBW(ByVal th As Single)
  15.         Using gr As Graphics = Graphics.FromImage(src)
  16.             Dim gray_matrix As Single()() = {
  17.               New Single() {0.299F, 0.299F, 0.299F, 0, 0},
  18.               New Single() {0.587F, 0.587F, 0.587F, 0, 0},
  19.               New Single() {0.114F, 0.114F, 0.114F, 0, 0},
  20.               New Single() {0, 0, 0, 1, 0},
  21.               New Single() {0, 0, 0, 0, 1}
  22.             }
  23.             Dim ia As New System.Drawing.Imaging.ImageAttributes
  24.             ia.SetColorMatrix(New System.Drawing.Imaging.ColorMatrix(gray_matrix))
  25.             ia.SetThreshold(th)
  26.             Dim rc As New Rectangle(0, 0, src.Width, src.Height)
  27.             gr.DrawImage(src, rc, 0, 0, src.Width, src.Height, GraphicsUnit.Pixel, ia)
  28.         End Using
  29.     End Sub
  30. End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы