title image


Smiley Re: Nebeleffekte mit Direct3d oder DirectX?
Hallo !Ich habe zwar nichts mit DX etx. anzubieten, aber wenn es Dir nur auf den Effekt ankommt und weniger auf Performance *hoff*, so geht das hier auch.Du brauchst folgende Zutaten:Form1: FormularComNeu: SchaltflächeComNebel: SchaltflächeTextIT: Textfeld (Intensität, IT = 0...1)TextGR: Textfeld (Graustufe des Nebels (0...255, 200 empfohlen)pic: Bildfeld (hier 100*60 Pixel, in das ein buntes Bild geladen wirdKopiere den Code in das Code-Fenster des Formulars und los gehts. Das Programmmacht zweierlei: Es nähert jeden Bildpunkt einem Standardwert an (Nebel), und es nähert jeden Bildpunkt einem Mittelwert aus seinen RGB-Werten an (SW).Zur Dokumentation sind die beiden Prozesse getrennt. Es gibt bestimmt noch eine Menge daran herumzuexperimentieren...Viel SpaßUweDim IT As SingleDim GR As IntegerDim R As Long, G As Long, B As LongDim M As LongDim R_Nebel As Long, G_Nebel As Long, B_Nebel As LongPrivate Sub Form_Load() pic.ScaleMode = 3 pic.Width = 100 * 15 pic.Height = 60 * 15End SubPrivate Sub ComNebel_Click() Dim x As Long Dim y As Long Dim OldCol As Long IT = CSng(TextIN) GR = Int(TextGr) R_Nebel = GR G_Nebel = GR B_Nebel = GR For x = 1 To 100 For y = 1 To 60 'Nebel OldCol = pic.Point(x, y) pic.PSet (x, y), Nebel(OldCol, IT) 'SW OldCol = pic.Point(x, y) pic.PSet (x, y), SW(OldCol, IT) Next y Next xEnd SubPrivate Sub ComNeu_Click() pic.Picture = LoadPicture("c:\win98\desktop\kkk.bmp")End SubPrivate Function SW(Color As Long, q As Single) As Long B = Int(Color / 65536) G = Int((Color - B * 65536) / 256) R = Int(Color - B * 65536 - G * 256) M = (R + G + B) / 3 R = R + (M - R) * IT G = G + (M - G) * IT B = B + (M - B) * IT SW = RGB(R, G, B)End FunctionPrivate Function Nebel(Color As Long, q As Single) As Long B = Int(Color / 65536) G = Int((Color - B * 65536) / 256) R = Int(Color - B * 65536 - G * 256) R = R + (R_Nebel - R) * IT G = G + (G_Nebel - G) * IT B = B + (B_Nebel - B) * IT Nebel = RGB(R, G, B)End Function

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: