Toon posts:

[VB] vloeiende overgang blauw->rood *

Pagina: 1
Acties:
  • 210 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
ik moet voor een presentatie een stroomrichting aangeven.
Het probleem is dat ik een vierkant heb wat blauw gekleurd is.
Dit moet voor ca. 50% rood gekleurd worden (vloeiende overgang, dus rood komt boven het vierkant binnen en mengt zich met het blauwe waarna 50% rood gekleurd wordt) en daarna moet het ook weer geheel blauw worden.

Zie het maar als een kopje koud water (blauw) waar heet water in komt (rood) en dat met ik bewegend weergeven!

Ik heb redelijke kennis van VB, maar is dit in VB te doen?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ja tuurlijk is dat te doen. Je moet gewoon de overganskleuren berekenen.
Wat heb je zelf al gedaan?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Het is vast wel in VB te doen. TOverwoord in dit geval is denk ik HSV kleuren.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Dutch_guy
  • Registratie: September 2001
  • Laatst online: 24-07 13:40

Dutch_guy

WYSIWYG

Lijkt mij dat je daar gewoon een animated gif van maakt, of een SWF en deze in je presentatie plakt.

Pay peanuts get monkeys !


  • gprins
  • Registratie: September 2001
  • Laatst online: 04-04 22:35

gprins

Crtl + Alt + Del

een filmpje werkt ook perfect

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:17

TeeDee

CQB 241

Dutch_guy schreef op 09 oktober 2003 @ 11:08:
Lijkt mij dat je daar gewoon een animated gif van maakt, of een SWF en deze in je presentatie plakt.
True, maar de makkelijkste oplossing is niet altijd de meest leerzame / mooie :)

Met aspImage van serverobjects kan je verlopen in een image geven. Volgens mij kan je dan ook "beweging" er in krijgen.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Ik heb nog nix, ben aan het orienteren hoe ik het ga maken!

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Het lijkt me dat je een "gradient" wilt. Op www.pscode.com -> Visual basic kan je verscheidene stukken code vinden die een gradient maken. Misschien kan je daar eens naar kijken, als orientatie :)

Verwijderd

Een oude VB functie die niet meer in dotNet werkt waarmee je pixels kunt tekenen is :
pset(x,y)
Nu kan je met allerlei functies je fillfactor gaan bepalen en tekenen.

Verwijderd

Topicstarter
hmm, kan zo 1,2,3 niet iets vinden wat ik kan gebruiken!
iemand misschien een tip.
midden, bak met koud water (blauw).
boven een leiding waar heet water uit komt (rood).
Als ik op 1 knop druk moet het rode in het blauwe lopen en langzaam geheel rood worden.
Aan de onderkant van de bak komt koud water binnen (blauw) als ik op een andere knop druk moet het blauw langzaam in het rode lopen en langzaam alles blauw worden.

Ik zoek nog effe op pscode, maar misschien dat iemand zoiets al eens heeft gefabriceerd?

Verwijderd

Topicstarter
progress bar is misschien wel iets. maar de overgang begint op de helft. Is dit in te stellen dat b.v. de overgang op 25% van ondern begint

Verwijderd

Verwijderd schreef op 09 October 2003 @ 19:29:
hmm, kan zo 1,2,3 niet iets vinden wat ik kan gebruiken!
iemand misschien een tip.
midden, bak met koud water (blauw).
boven een leiding waar heet water uit komt (rood).
Als ik op 1 knop druk moet het rode in het blauwe lopen en langzaam geheel rood worden.
Aan de onderkant van de bak komt koud water binnen (blauw) als ik op een andere knop druk moet het blauw langzaam in het rode lopen en langzaam alles blauw worden.

Ik zoek nog effe op pscode, maar misschien dat iemand zoiets al eens heeft gefabriceerd?
Waarschijnelijk heb je hier toch CFD voor nodig.... ;)

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 17:52

RayNbow

Kirika <3

Als dat vierkant een Form, een PictureBox, of een andere control is met een Line methode, dan kan je iets programmeren als:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Option Explicit

Private Sub Command1_Click()
    Dim lngWidth As Long
    Dim lngHeight As Long
    Dim OldScale As Integer
    
    Dim Red As Double
    Dim Blue As Double
    Dim dColor As Double
    
    Dim Y As Long
    
    
    'Onthoud de oude scale mode
    OldScale = Picture1.ScaleMode
    
    'Zet de nieuwe scale mode
    Picture1.ScaleMode = vbPixels
    
    'Zet 'm op AutoRedraw
    Picture1.AutoRedraw = True
    
    'Vraag de afmetingen van de picture box op
    lngWidth = Picture1.ScaleWidth
    lngHeight = Picture1.ScaleHeight
    
    'Zet de beginkleuren
    Red = 255
    Blue = 0
    
    'Bereken hoeveel de kleur moet veranderen na elke lijn te hebben getekend
    dColor = 255 / (lngHeight)
        
    For Y = 0 To lngHeight
        'Teken lijn
        Picture1.Line (0, Y)-(lngWidth, Y), RGB(Red, 0, Blue)
        
        'Update de volgende kleur
        Red = Red - dColor
        Blue = Blue + dColor
    Next Y
    
    'Zet de oude scale mode terug
    Picture1.ScaleMode = OldScale
End Sub


(NB: de onderste rij pixels is meestal niet puur blauw. Bij mij was het (2,0,252) bij het testen van de code)

[ Voor 8% gewijzigd door RayNbow op 10-10-2003 08:37 ]

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Gezien de 'gevorderheid' (NOFI!, het lijkt mij namelijk niet dat je een vloeistof model probeert te implementeren oid) van de TS lijkt het mij misschien wel het makkelijkst om gewoon een rechthoek te maken die aan de bovenkant rood is en aan de onderkant blauw. Midden in een kort stukje met een overgang tussen deze kleuren (Dit is in principe in elk fatsoenlijk teken programma wel te maken.

Hieroverheen leg je vervolgens een masker met een bak en twee buisjes. Maak dit masker zo dat de bak en de aanvoerleidingen doorzichtig zijn en je hierdoorheen dus het rechthoek kunt zien. Om nu de kranen open te zetten hoef je alleen maar het rechthoek op en neer te bewegen om de overgang te verplaatsten.

Makkelijkste tool hiervoor is waarschijnlijk flash omdat je hierin makkelijk met (transparante) lagen kunt werken.

[ Voor 6% gewijzigd door Janoz op 10-10-2003 08:44 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Ik zal de code van RayNbow strax thuis even bekijken....

Ik heb al een simpel model en het vullen met heet (rood) en koud(blauw) is reeds gelukt.
Ik heb hierbij gebruik gemaakt van een verticale progress bar waarbij ik op verschillende momenten gewoon andere waardes hang.
Nu de simpele lijnen even vervangen door in autocad getekende leidingen et voila!
Mocht de code van RayNbow beter zijn, dan gebruik ik die.

Thx. voor de hulp
Pagina: 1