Librairie Effect de LSI ou Point() + rapide

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Librairie Effect de LSI ou Point() + rapide

Message par TazNormand »

Salut

Qui aurais la dernière version de la librairie de "Le Soldat Inconnu" aka LSI ?

Ou qui aurait une procédure plus rapide que point() pour de grandes images ?
Image
Image
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Librairie Effect de LSI ou Point() + rapide

Message par graph100 »

TazNormand a écrit :Ou qui aurait une procédure plus rapide que point() pour de grandes images ?
Si tu es sur du format RGB tu peux accéder aux données en mémoire avec DrawingBuffer(), puis DrawingBufferPitch() et DrawingBufferPixelFormat()

Mais je n'ai pas de routine sous la main (pas le bon ordi)
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Librairie Effect de LSI ou Point() + rapide

Message par djes »

Ils en parlent en ce moment même là : http://www.purebasic.fr/english/viewtop ... 13&t=60406
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: Librairie Effect de LSI ou Point() + rapide

Message par PAPIPP »

Bonjour TazNormand

Voici le fichier EFFECT__.ZIP de LSI

Le fichier ne sera accessible qu'un mois au moins

http://dl.free.fr/q5RzW2RLf
http://dl.free.fr/q5RzW2RLf
A+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Librairie Effect de LSI ou Point() + rapide

Message par flaith »

Juste un exemple pour convertir une image en alpha suivant une couleur definie:

Code : Tout sélectionner

Procedure.i ConvertToAlpha(__ImageID.i, __TransparentColor.i)
  ; The '__TransparentColor' become Alpha
  Protected.i _BufferImg, _PitchImg, _PixelFormatImg
  Protected.i _X, _Y, _OnePixel
  Protected.i *Line.CS_PIXEL

  StartDrawing(ImageOutput(__ImageID))
    _BufferImg      = DrawingBuffer()
    _PitchImg       = DrawingBufferPitch()
;     _PixelFormatImg = DrawingBufferPixelFormat() - #PB_PixelFormat_ReversedY

    For _Y = 0 To ImageHeight(__ImageID) - 1
      *Line = _BufferImg + _PitchImg * _Y
      For _X = 0 To ImageWidth(__ImageID) - 1 
        _OnePixel = *Line\Pixel
        If _OnePixel = $FF000000 | __TransparentColor    ; Color to change ?
          *Line\Pixel = $00FFFFFF                        ; Convert to AlphaChannel
        EndIf
        *Line + 4                                        ; Next Pixel
      Next
    Next
  StopDrawing()
EndProcedure
Répondre