C++ Layers, transparant pixels

Pagina: 1
Acties:

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 31-07 15:50
Hoi, ik ben op zoek naar hoe ik layers kan gebruiken in borland c++. Of hoe ik een plaatje naar het beeldscherm kan schrijven waar van pixel transparant zijn zodat je b.v een figuurtje bij een spelletje over de achtergrond kan heen schrijven zonder die te beschadigen. :)

Is het soms ook mogelijk om direct naar het video geheugen te schrijven ?. En is het mogelijk om een met getimage(0, 0, 100, 100, plaatje); te wijziggen in het geheugen voor het terug op het beeld te zetten. :?

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Euhm, zoek is wat op over "blenden".

Of je met zogenaamde layers kan werken, weet ik niet. Maar ik weet wel dat je vensters kan maken met bijvoorbeeld een groot gat in het midden waar je de onderliggende vensters dan kan zien en aanklikken.

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Met puur C++ kan je niks grafisch. Je maakt daarvoor gebruik van een API, in de vorm van bv screen 13 (dos)windows GDI, OpenGL of DirectX. Je zal die documentatie moeten raadplegen om te kijken hoe je dat gaat oplossen.
Zoals jij het nu beschrijft lijkt het erop dat je het allemaal handmatig zal moeten doen (pixels plotten of juist niet (transparant))

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Eh, tuurlijk kan je wel grafisch werken met alleen C++...

Je moet alleen niet kijken hoe veel je daar dan eerst voor moet doen om ook maar 1 pixeltje op het scherm te krijgen.

Nah vooruit, je hebt ook een beetje inline assembly nodig.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 04-09 14:38

curry684

left part of the evil twins

Op donderdag 20 september 2001 19:07 schreef djexplo het volgende:
Is het soms ook mogelijk om direct naar het video geheugen te schrijven ?. En is het mogelijk om een met getimage(0, 0, 100, 100, plaatje); te wijziggen in het geheugen voor het terug op het beeld te zetten. :?
In een GUI: GetDIBits en SetDIBits. In andere omgevingen zul je aan de DirectDraw moeten inderdaad.

btw. zoek even op GetDIBits hier op het forum, ik heb daar recent een flinke lap voorbeeldcode over gepost.

Professionele website nodig?


  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 31-07 15:50
Thanks,
Ik ga even kijken of ik wat SetDIBits kan en anders ga ik toch maar stukje assembly tussen mijn code gooien, om netjes layer achtige effecten te maken ;)

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'

Pagina: 1