为什么我的 SetPixel 函数在 PictureBox 中不起作用?

问题描述 投票:0回答:1

我在 VB.NET 中遇到 SetPixel 函数问题

我正在尝试设置图片框中指定位置的颜色。

我想用红色表示点(X : 45,Y : 55)。

我搜索了一个函数来做到这一点。我找到了 SetPixel。

我在按钮中编写了代码。

这是我的代码:

Private Sub btn_Set_Click(sender As Object, e As EventArgs) Handles btn_Set.Click
  Dim pic1 As New Bitmap(PictureBox1.Image)
  pic1.SetPixel(45, 55, Color.Red)
End Sub

但这不起作用。当我点击按钮时。什么也没发生。

为什么不起作用?

注意:图片框中没有图像。我只是为图片框设置了背景颜色。

vb.net winforms drawing picturebox
1个回答
0
投票

您可以用图形打印像素

您需要导入

Imports System.Drawing.Graphics

我添加了绘图线,因为像素并不真正可见

Private Sub btn_Set_Click(sender As Object, e As EventArgs) Handles btn_Set.Click
    Dim pic1 As New Bitmap(200, 100)

    Dim gr As Graphics
    gr = Graphics.FromImage(pic1)
    Dim p As Pen = New Pen(Color.Red, 2)
    'printline
    gr.DrawLine(p, 30, 30, 45, 55)
    'Print pixel
    gr.FillRectangle(Brushes.Blue, 55, 55, 1, 1)
    PictureBox1.Image = pic1
    PictureBox1.Update()
    PictureBox1.Refresh()
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.