Stefan: Was mache ich falsch?

Hier wird ein Farbiges Bild schwarz weiss konvertiert, kann mir jemand sagen ob es mit Picture Box möglich ist änderungen die wärend der laufzeit gemacht wurden zu speichern?

Danke!
mfg stefan

Option Explicit

Private Sub Form_Load()
  CommonDialog1.FileName = "*.bmp"

If (Command$ <> "") Then
     Picture1.Picture = LoadPicture(Command$)
     Call ConvertToBW
  End If

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
   men_Close_Click
End Sub

Private Sub men_Open_Click()
  With CommonDialog1
    .Filter = ".bmp File|*.bmp|.jpg File|*.jpg"
    .ShowOpen
    If Trim$(.FileName <> vbNullString) Then
      If Trim$(.FileName) = "*.bmp" Or _
         Trim$(.FileName) = "*.jpg" Then Exit Sub
      Picture1.Picture = LoadPicture(.FileName)
    Else
      Exit Sub
    End If
  End With
End Sub

Private Sub men_SW_Click()
  Picture1.AutoRedraw = False
  Screen.MousePointer = vbHourglass
  ConvertToBW
  Screen.MousePointer = vbNormal
  Picture1.AutoRedraw = True
End Sub

Private Sub men_Close_Click()
  Unload Me
  End
End Sub

Private Sub Picture1_Resize()
   If Picture1.Width + 100 < 3080 Then
        Me.Width = 3135
    Else
        Me.Width = Picture1.Width + 100
    End If
    Me.Height = Picture1.Height + 650
End Sub

Private Sub ConvertToBW()
    Dim x As Integer
    Dim y As Integer
    Dim col As Long
    Dim rot As Integer
    Dim blau As Integer
    Dim gruen As Integer
    Dim wert As Integer

Dim bsG As Single
    Dim bsR As Single
    Dim bsB As Single
    Dim Rmask As Long
    Dim Gmask As Long
    Dim Bmask As Long

bsR = 1
    bsG = &H100&
    bsB = &H10000

Rmask = &HFF&
    Gmask = &HFF00&
    Bmask = &HFF0000

For y = 0 To Picture1.ScaleHeight
        For x = 0 To Picture1.ScaleWidth
            col = Picture1.Point(x, y)
            rot = (col And Rmask) / bsR
            blau = (col And Bmask) / bsB
            gruen = (col And Gmask) / bsG
            wert = (rot + blau + gruen) \ 3
            Picture1.PSet (x, y), RGB(wert, wert, wert)
        Next x
    Next y
    SavePicture Picture1, "test.bmp"   ' Bild speichern
End Sub

  1. Servus,

    Hier wird ein Farbiges Bild schwarz weiss konvertiert, kann mir jemand sagen ob es mit Picture Box möglich ist änderungen die wärend der laufzeit gemacht wurden zu speichern?

    warum machst du ein doppelposting auf - du hast doch schon gefragt!

    gruß fritz

    1. hi

      warum machst du ein doppelposting auf - du hast doch schon gefragt!

      wenn ich richtig mitgezählt habe ist es schon das vierte zu dem thema.

      3 [pref:t=78078&m=451182]
      2 [pref:t=78009&m=450775]
      1 [pref:t=78002&m=450737]

      alle haben bezug zueinander

      so long
      ole
      (8-)>