Avatar billede tax Nybegynder
26. oktober 2001 - 09:46 Der er 8 kommentarer og
1 løsning

Transparent brush???

Som en del af et væskesimuleringsprogram, skal jeg optegne nogle væsker efterhånden som de fremskrider i nogle rør. Væskerne er simuleret på partikelniveau, hvilket vil sige at vi genererer partikler og flytter disse for at repræsentere en væskes fremskridt.

Når vi skal optegne disse væsker, er de nogle gange blandet. Det betyder at vi skal optegne 2 farver i omtrent samme punkt. Sådan som det er nu \"vinder\" den sidst optegnede væskepartikel fordi at den brush vi anvender ikke er transparent.

Derfor kunne jeg godt tænke mig at vide om der er mulighed for at tegne med en transparent brush.

15 points er alt jeg kan skrabe sammen lige nu. :(
Avatar billede alvion Nybegynder
26. oktober 2001 - 10:00 #1
Du kan gøre det ved at tegne bitmaps istedet for at bruge brushes:

http://www.eksperten.dk/spm/107760

(læs den uddybende del)
Avatar billede jpk Nybegynder
26. oktober 2001 - 10:11 #2
Hmm, alt det arbejde!
Funktionen AlphaBlend (Windows GDI) er rimelig simpel at have med at gøre og kan vist nogenlunde det samme...
(virker dog ikke i Win95)
Avatar billede alvion Nybegynder
26. oktober 2001 - 10:17 #3
AlphaBlend er ikke GDI men GDI+ og virker (så vidt jeg ved) kun i Win2000, WinMe og WinXP
Avatar billede alvion Nybegynder
26. oktober 2001 - 10:18 #4
Desuden er det da ikke voldsomt meget arbejde. Det er bare et spørgsmål om, at pakke det ordentlig ind i en klasse eller nogle funktioner til formålet.
Avatar billede jpk Nybegynder
26. oktober 2001 - 10:19 #5
Fra doc:

AlphaBlend
The AlphaBlend function displays bitmaps that have transparent or semitransparent pixels.

Requirements
  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 98.
  Header: Declared in Wingdi.h; include Windows.h.
  Library: Included as a resource in Msimg32.dll.
Avatar billede jpk Nybegynder
26. oktober 2001 - 10:23 #6
Du har ret, det er ikke MEGET arbejde, men du laver vel heller ikke dine egne std draw-funktioner, hvis de i forvejen findes i GDI\'en?
Avatar billede alvion Nybegynder
26. oktober 2001 - 10:31 #7
Tjaa hvis tax ved hvilke OS\'er programmet kommer til at køre på, så bøjer jeg mig. Jeg har aldrig selv prøvet at bruge AlphaBlend, så jeg ved ikke hvordan den virker.

Og jo jeg kan godt finde på at lave mine egne draw-funktioner, hvis de bliver bedre end dem i GDI\'en (cirkler, linier, mm. MED antialiasing, f.eks.)
Avatar billede jpk Nybegynder
30. oktober 2001 - 10:26 #8
=> alvion
Hvis du udvider draw-funktionerne med fx alpha eller antialiasing er det jo ikke længere de samme funktioner...
Avatar billede alvion Nybegynder
30. oktober 2001 - 10:39 #9
Bla bla bla... :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester