![]() |
Tipp 0209
|
Farb-Bitmaps zu Graustufen konvertieren
|
![](/vb/images/down.gif) |
|
Autor/Einsender: Datum: |
|
Alexander Csadek 22.03.2002 |
|
Entwicklungsumgebung: |
|
VB 6 |
|
|
Farb-Bilder zu SW-(Graustufen-)Bilder konvertieren ist sehr einfach. Der Farbwert jedes Pixels wird in die Rot-, Blau-, und Grün-Anteile aufgeteilt. Diese drei Werte werden addiert und dann durch 3 dividiert. Mit diesem errechneten Schnitt wird dann der Wert des Pixels gesetzt.
|
Wichtig ist dabei, der errechnete Wert muss bei allen drei Farbanteilen angegeben werden (z.B. RGB(30, 30, 30)). So entsteht aus dem Farbbild ein Bild in Graustufen.
|
|
|
Option Explicit
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
End Sub
|
|
|
|
|
Windows-Version |
95 |
![](/vb/images/haken.gif) |
|
98/SE |
![](/vb/images/haken.gif) |
|
ME |
![](/vb/images/haken.gif) |
|
NT |
![](/vb/images/haken.gif) |
|
2000 |
![](/vb/images/haken.gif) |
|
XP |
![](/vb/images/haken.gif) |
|
Vista |
![](/vb/images/haken.gif) |
|
Win
7 |
![](/vb/images/haken.gif) |
|
|
VB-Version |
VBA 5 |
![](/vb/images/frage.gif) |
|
VBA 6 |
![](/vb/images/frage.gif) |
|
VB 4/16 |
![](/vb/images/haken.gif) |
|
VB 4/32 |
![](/vb/images/haken.gif) |
|
VB 5 |
![](/vb/images/haken.gif) |
|
VB 6 |
![](/vb/images/haken.gif) |
|
|
|
Download (9
kB)
|
Downloads bisher: [ 1047 ]
|
|
|