
![]() ●這個範例用到的物件有Picture1及Command1(執行命令用)。 ●這個範例是利用Point函數來取得RGB顏色數值,用運算式提高或減低數值,然後在原圖以改變後的數值當顏色再重新畫圖。 |
Dim Bright As Integer '亮度
Bright = 20 '設亮度增20%(若用負數則亮度變暗如-20)
Picture1.AutoRedraw = True
For Y = 1 To Picture1.ScaleHeight Step 15
For X = 1 To Picture1.ScaleWidth Step 15
Tmp& = Picture1.Point(X, Y)
If Len(Hex(Tmp&)) < color="blue">Then RS = Right(Hex(Tmp&), 2)
If Len(Hex(Tmp&)) = 6 Then
BS = Left(Hex(Tmp&), 2)
GS = Mid(Hex(Tmp&), 3, 2)
End If
If Len(Hex(Tmp&)) = 4 Then
GS = Left(Hex(Tmp&), 2)
End If
If Len(Hex(Tmp&)) > 1 Then R = Val("&H" + RS) Else R = 0
If Len(Hex(Tmp&)) > 3 Then G = Val("&H" + GS) Else G = 0
If Len(Hex(Tmp&)) > 5 Then B = Val("&H" + BS) Else B = 0
If Len(Hex(Tmp&)) = 8 Then R = 1: G = 1: B = 1
PerC = (100 + Bright) / 100
R = Fix(R * PerC): G = Fix(G * PerC): B = Fix(B * PerC)
If R > 255 Then R = 255
If G > 255 Then G = 255
If B > 255 Then B = 255
If R = 0 Then R = Bright
If G = 0 Then G = Bright
If B = 0 Then B = Bright
Picture1.PSet (X, Y), RGB(R, G, B)
Next
Next
Picture1.AutoRedraw = False
End Sub
沒有留言:
張貼留言