Structure interne des images du PureBASIC

Sujets variés concernant le développement en PureBasic
freddix
Messages : 101
Inscription : dim. 08/févr./2004 19:37

Structure interne des images du PureBASIC

Message par freddix »

Salut,

J'aimerais savoir si il y aurait parmi vous un expert de la manipulation d'images sous PureBASIC...

En fait, je suis en train de réaliser un projet en PureBASIC pour DarkBASIC Professional. Il s'agit d'un plugin pour la 2D. Bien entendu ce plugin ne reprends pas les fonctions 2D du pure ;)

En fait, ma question définira si je peux migrer mon projet pour en faire une version 100% PureBASIC.

Mon plugin est prévu pour gérer:
- Gestion de cartes, de layers et de tiles (avec animations possibles).
- Pseudo lumières 2D avec Pseudo LightMAPPING et Pseudo ShadowCASTING.
- Gestion de particules 2D.
- Gestion des collisions entre Sprites et Layers.

Actuellement le plugin supportes tout ce qui est listé ici sauf les particules et calculs de collisions.

Si il est possible de manipuler (par manipulation mémoire) des images du PureBASIC pour en créer de nouvelles et/ou les modifier, utiliser la transparence du canal alpha du mode RGB 32 Bits des images, et si il est possible de paster des images à l'écran en transparence.

Pour donner un aperçu de ce que donne mon système sous DarkBASIC Professional (et donc, ce qu'il pourrait donner si il était adaptable/adapté au PureBASIC )

PremierSHOT:
En haut, gauche: Simple Pseudo Lighting
En bas, gauche : Pseudo Light Mapping
A droite : Liste des tiles utilisées pour les objets et flammes animées.
Image

SecondSHOT:
Pseudo Light Mapping + Pseudo Shadow Casting
le Shadow Casting utilise des tiles de masque de forme.
Image

Je pense que cela doit être possible en PureBASIC ... Mais j'aimerais confirmation avant de me lancer dans une conversion qui risque de prendre du temps ...
Dernière modification par freddix le jeu. 19/avr./2007 19:41, modifié 1 fois.
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

tout ça me parait faisable ... :P
Anonyme

Message par Anonyme »

tu n'a pas oublié de posté des images avec ton post ?


sinon , manipulé via la mémoire les images c'est possible :

Code : Tout sélectionner

If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
  End
EndIf


#screenX=800
#screenY=640

CreateImage(0,1,1)


x=0
y=0

StartDrawing(ImageOutput(0))
  Drbuff.l = DrawingBuffer()
   PokeL(@Drbuff+ (x*4) + #screenX * (y*4),255)
StopDrawing()


Debug PeekL(@Drbuff)

ici, j'ai créer une image de 1x1 de couleur rouge, met le debuger, tu auras la valeur de lecture a 255, ensuite tu manipule ce que tu veut pour des effets divers et varié :wink:
freddix
Messages : 101
Inscription : dim. 08/févr./2004 19:37

Message par freddix »

Voila, c'est modifié ;)

@CPL.BATOR: J'ai pas trop compris ton truc .. mais je vais m'y pencher ...
Anonyme

Message par Anonyme »

Si il est possible de manipuler (par manipulation mémoire) des images du PureBASIC pour en créer de nouvelles et/ou les modifier, utiliser la transparence du canal alpha du mode RGB 32 Bits des images, et si il est possible de paster des images à l'écran en transparence.


Drbuff.l = DrawingBuffer()

Drbuff est le pointeur mémoire de l'image, les 4 premiers octets est le premier pixel ect... je ne vais pas t'apprendre à jouer dans la mémoire tu dois certainement connaitre, ensuite pour manipulé l'alpha cela doit être possible aussi avec cela certainement :

Code : Tout sélectionner

ProcedureDLL RGBA(Red,Green,Blue,Alpha) 
  ProcedureReturn RGB(Blue,Green,Red) + Alpha << 24
EndProcedure
je vais faire un test et je reposte ici :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

a ce titre je viens de mettre un ancien post en Sticky
car ce post reprends beaucoups de code sur les pixels
un coup d'oeil la dessus, ne fait pas de mal :D
(voir a partir de la page 3)

http://www.purebasic.fr/french/viewtopic.php?t=5685

sinon sur mon Forum tu peux voir ces codes+ d'autre concernant les images
ici : http://michel.dobro.free.fr/forum/viewtopic.php?t=180
:D
freddix
Messages : 101
Inscription : dim. 08/févr./2004 19:37

Message par freddix »

merci :)
Répondre