Was mache ich falsch?
Stefan
- vb-script
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
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
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-)>