
Au secour SOLDAT,la v4.40 elle est encore méchante avec KCC
Re: Pour les fous de graphisme...la spirale infernale [résolu]
Il va adorer 

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale [résolu]
Tu crois
J'espere...
Parfois, je me demande si y me prend pas pour un dingue
Remarque une admiration pareille pour le savoir, la sagesse et la competence....c'est pas des masses commun.
Autour de moi, j'entend des fans parler de michael jackson, mylene farmer, sylvie vartan, johnny hallyday....enfin que des gens que personne connais
J'ai jamais été fan de quelqu'un, quand j'y pense
Je suis fan de quelque chose, mais difficilement de quelqu'un..j'aime, ce qu'il fait, je respecte, mais de la à etre vraiment fan....
J'aurais pu etre fan de grands disc jockey, mais ils etaient aussi inaccessibles que des stars
Remarque, y'avait pas internet non plus de mon temps
(Tiens on dirait un vieux.....)
Et ben j'ai découvert ça avec la programmation
Moi mes stars, c'est FRED, SPARKIE, SROD, FLYPE, GNOZAL, NETMAESTRO, ..........etc .....j'suis pas difficile hein ????
Je pense que ce qui m'a fait devenir FAN, c'est que je puisse leur parler....
Imagine pour moi c'est presque tous les jours, l'emission "Star a domicile"
Imagine qu'une gamine elle rentre chez elle et elle discute "coulosse" avec lorie, ou diam's et que ces dernieres soit toujours la pour la consoler et lui soigner ses petits bobos au coeur
Bah moi, outre les réels bobos au coeurs que j'essaie de gerer moi-meme...enfin presque
J'ai aussi des bobos au "double-coeur" de mon pc
Et mes stars, ainsi que tous mes copains de ce forum et l'autre, il me font bien souvent des plaisirs, et me font passer de l'etat naturel de tristesse profonde, à l'explosion de joie, de l'etat de honte à l'etat de fierté......
Parfois meme, je sens poindre au coin de mon "zieu" une perle de pluie.
Et tout ça ...ça dure depuis 4 ans...
Je doit tout à l'informatique, et meme si elle me gonfle tous les jours, elle me le rend bien
Peut etre qu'un jour, je passerais en alsace, et peut etre que je ferais le plein a une station, et peut etre qu'en face y'aura un petit jeune tout "maigue" avec un joli sourire et une gentillesse qui le caracterise....et peut etre que j'me dirais....y me dit "queque" chose ce gars....
Et quand il sera remonté dans sa voiture et a 2 km de moi.....surement que je m'aspergerais d'essence et je fumerais ma premiere clope, pour me remercier de ne pas l'avoir reconnu et salué a la hauteur de son rang
Peut etre aussi au passage, que je batterais mon chien, ma femme et le gosse....pour pas m'avoir aussi aidé a le reconnaitre
Souvent je me dit, moi qui deteste les voyages et les nouvelles rencontres....et si j'allais au etats unis rencontrer (avec leur accord bien sur
) SPARKIE, ou en angleterre SROD, ou en alsace GNOZAL, nantes FLYPE ???
Bonjour le cadeau
Peut etre que quand je serais à la retraite .......
D'un autre coté on doit tellement avoir l'air con de rencontrer quelqu'un que l'on admire tant
Qu'est ce qu'on peut lui dire ????? ......c'est quoi ta marque de lave linge ?????....il fait beau aujourd'hui ????? T'as de beaux yeux tu sais ?????
Aaaahhh non non...ça c'est gabin il l'a déja dit a michelle morgan
Le con...y m'a piqué une reflexion qui aurait à coup sur étonné
Enfin en attendant...notre FRED, il est revenu sur le forum français comme le messie....
alors je ne voudrais pas faire quoi que ce soit qui l'effraie a nouveau.....
Mais j'suis tellement fier et content de lui parler directement ....qu'une petite chansonnette me viens à l'esprit :
FREDAELLE est de retooooouuuuuur..... Aaaaalllleeeeeeelooooouuuuiyyyyya !!!!!
FREDAELLE est de retooooouuuuuur..... et on l'aime toooooouuuuujoooouurrrss !!!
Allez tout le monde chante derriere son ecran avec KCC !!!!!
On peut aussi danser....c'est pas interdit
Et meme DOBRO y peut prendre un "youcoutruclélé" et montrer dans les iles comment on l'aime notre FRED

FREDAELLE est de retooooouuuuuur..... Aaaaalllleeeeeeelooooouuuuiyyyyya !!!!!
FREDAELLE est de retooooouuuuuur..... et on l'aime toooooouuuuujoooouurrrss !!!


Parfois, je me demande si y me prend pas pour un dingue

Remarque une admiration pareille pour le savoir, la sagesse et la competence....c'est pas des masses commun.
Autour de moi, j'entend des fans parler de michael jackson, mylene farmer, sylvie vartan, johnny hallyday....enfin que des gens que personne connais

J'ai jamais été fan de quelqu'un, quand j'y pense

Je suis fan de quelque chose, mais difficilement de quelqu'un..j'aime, ce qu'il fait, je respecte, mais de la à etre vraiment fan....

J'aurais pu etre fan de grands disc jockey, mais ils etaient aussi inaccessibles que des stars

Remarque, y'avait pas internet non plus de mon temps

Et ben j'ai découvert ça avec la programmation

Moi mes stars, c'est FRED, SPARKIE, SROD, FLYPE, GNOZAL, NETMAESTRO, ..........etc .....j'suis pas difficile hein ????

Je pense que ce qui m'a fait devenir FAN, c'est que je puisse leur parler....
Imagine pour moi c'est presque tous les jours, l'emission "Star a domicile"

Imagine qu'une gamine elle rentre chez elle et elle discute "coulosse" avec lorie, ou diam's et que ces dernieres soit toujours la pour la consoler et lui soigner ses petits bobos au coeur

Bah moi, outre les réels bobos au coeurs que j'essaie de gerer moi-meme...enfin presque

J'ai aussi des bobos au "double-coeur" de mon pc

Et mes stars, ainsi que tous mes copains de ce forum et l'autre, il me font bien souvent des plaisirs, et me font passer de l'etat naturel de tristesse profonde, à l'explosion de joie, de l'etat de honte à l'etat de fierté......
Parfois meme, je sens poindre au coin de mon "zieu" une perle de pluie.

Et tout ça ...ça dure depuis 4 ans...
Je doit tout à l'informatique, et meme si elle me gonfle tous les jours, elle me le rend bien

Peut etre qu'un jour, je passerais en alsace, et peut etre que je ferais le plein a une station, et peut etre qu'en face y'aura un petit jeune tout "maigue" avec un joli sourire et une gentillesse qui le caracterise....et peut etre que j'me dirais....y me dit "queque" chose ce gars....
Et quand il sera remonté dans sa voiture et a 2 km de moi.....surement que je m'aspergerais d'essence et je fumerais ma premiere clope, pour me remercier de ne pas l'avoir reconnu et salué a la hauteur de son rang

Peut etre aussi au passage, que je batterais mon chien, ma femme et le gosse....pour pas m'avoir aussi aidé a le reconnaitre

Souvent je me dit, moi qui deteste les voyages et les nouvelles rencontres....et si j'allais au etats unis rencontrer (avec leur accord bien sur

Bonjour le cadeau

Peut etre que quand je serais à la retraite .......

D'un autre coté on doit tellement avoir l'air con de rencontrer quelqu'un que l'on admire tant

Qu'est ce qu'on peut lui dire ????? ......c'est quoi ta marque de lave linge ?????....il fait beau aujourd'hui ????? T'as de beaux yeux tu sais ?????
Aaaahhh non non...ça c'est gabin il l'a déja dit a michelle morgan
Le con...y m'a piqué une reflexion qui aurait à coup sur étonné

Enfin en attendant...notre FRED, il est revenu sur le forum français comme le messie....
alors je ne voudrais pas faire quoi que ce soit qui l'effraie a nouveau.....
Mais j'suis tellement fier et content de lui parler directement ....qu'une petite chansonnette me viens à l'esprit :
FREDAELLE est de retooooouuuuuur..... Aaaaalllleeeeeeelooooouuuuiyyyyya !!!!!
FREDAELLE est de retooooouuuuuur..... et on l'aime toooooouuuuujoooouurrrss !!!

Allez tout le monde chante derriere son ecran avec KCC !!!!!
On peut aussi danser....c'est pas interdit

Et meme DOBRO y peut prendre un "youcoutruclélé" et montrer dans les iles comment on l'aime notre FRED


FREDAELLE est de retooooouuuuuur..... Aaaaalllleeeeeeelooooouuuuiyyyyya !!!!!
FREDAELLE est de retooooouuuuuur..... et on l'aime toooooouuuuujoooouurrrss !!!

Re: Pour les fous de graphisme...la spirale infernale [résolu]


Re: Pour les fous de graphisme...la spirale infernale [résolu]
+1 c'est un dou-dingue !!Dobro a écrit :![]()
il est dingue ! je le savais , il est dingue !

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale [résolu]
Merci.....merci beaucoup 
Mais j'en parlais à une des vaches qui entoure ma maison....et elle aussi quand je lui ai chanté ma chanson.....

Elle doit aussi connaitre FRED
Y m'epate ce FRED....y m'epatte

Mais j'en parlais à une des vaches qui entoure ma maison....et elle aussi quand je lui ai chanté ma chanson.....

Elle doit aussi connaitre FRED

Y m'epate ce FRED....y m'epatte

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale [résolu]
Bon..KCC il a assez dansé, il a mal au pied 
Maintenant c'est la periode des slows...alors KCC comme y peut pas draguer...et ben y se remet a programmer
J'ai posé aussi la question sur le US, car comme j'ai marié le splendide code français de TYPHOON avec le non moins splendide code anglais de NETMAESTRO et que ça m'a sorti un poupon digne des dieux
Je suis presque le plus heureux des KCC du monde
Pourquoi presque ???
Parce que KCC, ecoutez bien...messieurs et messieurs....et ben KCC, il a utilisé les CallBacks tout seul, comme un grand, et il est arrivé a faire que la spirale elle soit ronde et dans l'anneau.
Mais ...car il y a un mais...evidemment comme toujours avec KCC...et ben on arrive a glisser une fenetre entre la dame et le monsieur
Et ça le maire il a dit que "c'etait pas le droit" quand on est marié
Donc si quinquin il a l'idée du siecle pour que le mari et la femme soit fideles...et ben vous ferez le bonheur d'un couple...et par la meme occasion de moi
Voila le bouffon de l'anneau
http://erdsjb.free.fr/PureStorage/Provi ... neauOr.bmp
Et le contrat de mariage
Merci de votre aide

Maintenant c'est la periode des slows...alors KCC comme y peut pas draguer...et ben y se remet a programmer

J'ai posé aussi la question sur le US, car comme j'ai marié le splendide code français de TYPHOON avec le non moins splendide code anglais de NETMAESTRO et que ça m'a sorti un poupon digne des dieux

Je suis presque le plus heureux des KCC du monde

Pourquoi presque ???
Parce que KCC, ecoutez bien...messieurs et messieurs....et ben KCC, il a utilisé les CallBacks tout seul, comme un grand, et il est arrivé a faire que la spirale elle soit ronde et dans l'anneau.
Mais ...car il y a un mais...evidemment comme toujours avec KCC...et ben on arrive a glisser une fenetre entre la dame et le monsieur

Et ça le maire il a dit que "c'etait pas le droit" quand on est marié

Donc si quinquin il a l'idée du siecle pour que le mari et la femme soit fideles...et ben vous ferez le bonheur d'un couple...et par la meme occasion de moi

Voila le bouffon de l'anneau
http://erdsjb.free.fr/PureStorage/Provi ... neauOr.bmp
Et le contrat de mariage
Code : Tout sélectionner
; Code créé par NETMAESTRO et TYPHOON réuni pas KCC
Enumeration
#FenetreAnneau
#FenetreSpirale
#ImageAnneau
#Sprite3D
#Sprite2D
EndEnumeration
Global HwndSpirale.l,HwndAnneau.l
Global HwndAnneau, hBrush, Region, Size
Image = LoadImage(#ImageAnneau, "AnneauOr.bmp")
Procedure CallBack(WND,Message,lParam,wParam)
Result = #PB_ProcessPureBasicEvents
Select WND
Case HwndAnneau
If Message = #WM_MOVE
ResizeWindow(#FenetreSpirale, WindowX(#FenetreAnneau) + 25, WindowY(#FenetreAnneau) + 25, #PB_Ignore, #PB_Ignore)
ElseIf Message = #WM_LBUTTONDOWN
SendMessage_(WindowID(#FenetreAnneau), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
EndIf
EndSelect
ProcedureReturn Result
EndProcedure
Procedure GrabRegion(ImageID, TransColor) ; HBITMAP ImageID, COLORREF transcolor
;===============================================
; =
; Very fast bitmap -> region creator =
; By netmaestro =
; Contributors: eesau, nico, flype =
; June 26, 2007 =
; =
; *** IMPORTANT *** =
; =
; transcolor must be in BGR format =
; =
;===============================================
Structure RECTARRAY
rect.RECT[0]
EndStructure
GetObject_(ImageID, SizeOf(BITMAP), @bmp.BITMAP)
Protected width = bmp\bmWidth
Protected height = bmp\bmHeight
Protected hVisibleRgn = CreateRectRgn_(0, 0, width, height)
BmiInfo.BITMAPINFOHEADER
With BmiInfo
\biSize = SizeOf(BITMAPINFOHEADER)
\biWidth = width
\biHeight = -height
\biPlanes = 1
\biBitCount = 32
\biCompression = #BI_RGB
EndWith
rowbytes = SizeOf(LONG)*width
*ColorBits = AllocateMemory(rowbytes*height)
hDC = GetWindowDC_(#Null)
iRes = GetDIBits_(hDC, ImageID, 0, height, *ColorBits, @bmiInfo, #DIB_RGB_COLORS)
ReleaseDC_(#Null, hDC)
Structure_Max=(width*height*16)+SizeOf(RGNDATAHEADER)
*Buffer.RGNDATAHEADER=AllocateMemory(Structure_Max)
*rd.RECTARRAY=*Buffer+SizeOf(RGNDATAHEADER)
rectcount = 0
For y=0 To height-1
pxcount=0
For x=0 To rowbytes-1 Step 4
*px.LONG = *ColorBits + rowbytes * y + x
If *px\l = transcolor
transcount = 1 : firsttrans = pxcount
x+SizeOf(LONG) : *px.LONG = *ColorBits + rowbytes * y + x
While *px\l = transcolor And x <= rowbytes-1
transcount+1 : pxcount+1 : x+SizeOf(LONG)
*px = *ColorBits + rowbytes * y + x
Wend
x-SizeOf(LONG) : *px.LONG = *ColorBits + rowbytes * y + x
*rd\rect[rectcount]\left = firsttrans
*rd\rect[rectcount]\top = y
*rd\rect[rectcount]\right = firsttrans+transcount
*rd\rect[rectcount]\bottom = y+1
rectcount+1
EndIf
pxcount+1
Next
Next
With *Buffer
\dwSize = SizeOf(RGNDATAHEADER)
\iType = #RDH_RECTANGLES
\nCount = rectcount
\nRgnSize = rectcount * SizeOf(RECT)
\rcBound\left = 0
\rcBound\top = 0
\rcBound\right = width
\rcBound\bottom = height
EndWith
RegionSize=SizeOf(RGNDATAHEADER)+(rectcount * SizeOf(RECT))
hTransparentRgn = ExtCreateRegion_(0, RegionSize, *Buffer)
CombineRgn_(hVisibleRgn, hVisibleRgn, hTransparentRgn, #RGN_XOR)
FreeMemory(*Buffer)
FreeMemory(*ColorBits)
DeleteObject_(hTransparentRgn)
ProcedureReturn hVisibleRgn
EndProcedure
Procedure FenetreSpirale()
If InitSprite() = 0 Or InitSprite3D() = 0
MessageRequester("Erreur", "Impossible d'ouvrir l'écran et l'environnement nécessaire aux sprites !")
End
EndIf
If OpenWindow(#FenetreSpirale, 0, 0, 240, 240, "", #PB_Window_BorderLess|#PB_Window_ScreenCentered)
Region = CreateEllipticRgn_(0, 0, WindowWidth(#FenetreSpirale), WindowHeight(#FenetreSpirale))
SetWindowRgn_(WindowID(#FenetreSpirale), Region, #True)
DeleteObject_(Region)
SetWindowCallback(@CallBack())
If OpenWindowedScreen(WindowID(#FenetreSpirale), 0, 0, 240, 240, 0, 0, 0)
Size = Sqr(240 * 240 + 240 * 240)
CreateSprite(#Sprite2D, Size, Size, #PB_Sprite_Texture)
If StartDrawing(SpriteOutput(#Sprite2D))
For z = 0 To 2800
x = Cos(z * #PI / 180) * z / 15
y = Sin(z * #PI / 180) * z / 15
Circle(Size / 2 + x, Size / 2 + y, 1 + z / 250, RGB(255,255,255))
Next
StopDrawing()
CreateSprite3D(#Sprite3D, #Sprite2D)
EndIf
Delay(100)
hBrush = CreatePatternBrush_(ImageID(#ImageAnneau))
HwndAnneau = OpenWindow(#FenetreAnneau, WindowX(#FenetreSpirale), WindowY(#FenetreSpirale), ImageWidth(#ImageAnneau), ImageHeight(#ImageAnneau), "",#PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_Invisible)
SetClassLongPtr_(WindowID(#FenetreAnneau), #GCL_HBRBACKGROUND, hBrush)
SetWindowRgn_(WindowID(#FenetreAnneau), GrabRegion(ImageID(#ImageAnneau), RGB(255,255,255)), #True)
SetWindowLong_(WindowID(#FenetreAnneau), #GWL_EXSTYLE, #WS_EX_TOOLWINDOW) ; Cacher de la barre des taches
StickyWindow(#FenetreAnneau, #True)
HideWindow(#FenetreAnneau, #False)
Delay(100)
Else
MessageRequester("Erreur", "Impossible d'ouvrir un écran dans la fenêtre!", 0)
End
EndIf
EndIf
EndProcedure
FenetreSpirale()
Repeat
Evenement = WaitWindowEvent(1)
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
Start3D()
RotateSprite3D(#Sprite3D, ElapsedMilliseconds() / 5, 0)
DisplaySprite3D(#Sprite3D, (240 - Size) / 2, (240 - Size) / 2)
Stop3D()
Until GetAsyncKeyState_(#VK_ESCAPE)
Re: Pour les fous de graphisme...la spirale infernale
Bonjour Kcc
Peut- être une solution pour avoir les 2 images toujours collées
A+
Peut- être une solution pour avoir les 2 images toujours collées
Code : Tout sélectionner
; Code créé par NETMAESTRO et TYPHOON réuni pas KCC
Enumeration
#FenetreAnneau
#FenetreSpirale
#ImageAnneau
#Sprite3D
#Sprite2D
EndEnumeration
Global HwndSpirale.l,HwndAnneau.l
Global HwndAnneau,hBrush,Region,Size
Image=LoadImage(#ImageAnneau,"L:\program files\PB440\PB440\AnneauOr.bmp"); <= à changer suivant votre chemin *************************************
; Debug image
Procedure CallBack(WND,Message,lParam,wParam)
Result=#PB_ProcessPureBasicEvents
Select WND
Case HwndAnneau
If Message=#WM_MOVE
ResizeWindow(#FenetreSpirale,WindowX(#FenetreAnneau)+25,WindowY(#FenetreAnneau)+25,#PB_Ignore,#PB_Ignore)
ElseIf Message=#WM_LBUTTONDOWN
SendMessage_(WindowID(#FenetreAnneau),#WM_NCLBUTTONDOWN,#HTCAPTION,0)
EndIf
EndSelect
ProcedureReturn Result
EndProcedure
Procedure GrabRegion(ImageID,TransColor) ; HBITMAP ImageID, COLORREF transcolor
;===============================================
; =
; Very fast bitmap -> region creator =
; By netmaestro =
; Contributors: eesau, nico, flype =
; June 26, 2007 =
; =
; *** IMPORTANT *** =
; =
; transcolor must be in BGR format =
; =
;===============================================
Structure RECTARRAY
rect.RECT[0]
EndStructure
GetObject_(ImageID,SizeOf(BITMAP),@bmp.BITMAP)
Protected width=bmp\bmWidth
Protected height=bmp\bmHeight
Protected hVisibleRgn=CreateRectRgn_(0,0,width,height)
BmiInfo.BITMAPINFOHEADER
With BmiInfo
\biSize=SizeOf(BITMAPINFOHEADER)
\biWidth=width
\biHeight=-height
\biPlanes=1
\biBitCount=32
\biCompression=#BI_RGB
EndWith
rowbytes=SizeOf(LONG)*width
*ColorBits=AllocateMemory(rowbytes*height)
hDC=GetWindowDC_(#Null)
iRes=GetDIBits_(hDC,ImageID,0,height,*ColorBits,@bmiInfo,#DIB_RGB_COLORS)
ReleaseDC_(#Null,hDC)
Structure_Max=(width*height*16)+SizeOf(RGNDATAHEADER)
*Buffer.RGNDATAHEADER=AllocateMemory(Structure_Max)
*rd.RECTARRAY=*Buffer+SizeOf(RGNDATAHEADER)
rectcount=0
For y=0 To height-1
pxcount=0
For x=0 To rowbytes-1 Step 4
*px.LONG=*ColorBits+rowbytes*y+x
If *px\l=transcolor
transcount=1:firsttrans=pxcount
x+SizeOf(LONG) :*px.LONG=*ColorBits+rowbytes*y+x
While *px\l=transcolor And x<=rowbytes-1
transcount+1:pxcount+1:x+SizeOf(LONG)
*px=*ColorBits+rowbytes*y+x
Wend
x-SizeOf(LONG) :*px.LONG=*ColorBits+rowbytes*y+x
*rd\rect[rectcount]\left=firsttrans
*rd\rect[rectcount]\top=y
*rd\rect[rectcount]\right=firsttrans+transcount
*rd\rect[rectcount]\bottom=y+1
rectcount+1
EndIf
pxcount+1
Next
Next
With *Buffer
\dwSize=SizeOf(RGNDATAHEADER)
\iType=#RDH_RECTANGLES
\nCount=rectcount
\nRgnSize=rectcount*SizeOf(RECT)
\rcBound\left=0
\rcBound\top=0
\rcBound\right=width
\rcBound\bottom=height
EndWith
RegionSize=SizeOf(RGNDATAHEADER)+(rectcount*SizeOf(RECT))
hTransparentRgn=ExtCreateRegion_(0,RegionSize,*Buffer)
CombineRgn_(hVisibleRgn,hVisibleRgn,hTransparentRgn,#RGN_XOR)
FreeMemory(*Buffer)
FreeMemory(*ColorBits)
DeleteObject_(hTransparentRgn)
ProcedureReturn hVisibleRgn
EndProcedure
Procedure FenetreSpirale()
If InitSprite()=0 Or InitSprite3D()=0
MessageRequester("Erreur","Impossible d'ouvrir l'écran et l'environnement nécessaire aux sprites !")
End
EndIf
If OpenWindow(#FenetreSpirale,0,0,240,240,"",#PB_Window_BorderLess | #PB_Window_ScreenCentered)
Region=CreateEllipticRgn_(0,0,WindowWidth(#FenetreSpirale),WindowHeight(#FenetreSpirale))
SetWindowRgn_(WindowID(#FenetreSpirale),Region,#True)
DeleteObject_(Region)
SetWindowCallback(@CallBack())
If OpenWindowedScreen(WindowID(#FenetreSpirale),0,0,240,240,0,0,0)
Size=Sqr(240*240+240*240)
CreateSprite(#Sprite2D,Size,Size,#PB_Sprite_Texture)
If StartDrawing(SpriteOutput(#Sprite2D))
For z=0 To 2800
x=Cos(z*#PI/180)*z/15
y=Sin(z*#PI/180)*z/15
Circle(Size/2+x,Size/2+y,1+z/250,RGB(255,255,255))
Next
StopDrawing()
CreateSprite3D(#Sprite3D,#Sprite2D)
EndIf
Delay(100)
hBrush=CreatePatternBrush_(ImageID(#ImageAnneau))
HwndAnneau=OpenWindow(#FenetreAnneau,WindowX(#FenetreSpirale),WindowY(#FenetreSpirale),ImageWidth(#ImageAnneau),ImageHeight(#ImageAnneau),"",#PB_Window_BorderLess | #PB_Window_ScreenCentered | #PB_Window_Invisible)
SetClassLongPtr_(WindowID(#FenetreAnneau),#GCL_HBRBACKGROUND,hBrush)
SetWindowRgn_(WindowID(#FenetreAnneau),GrabRegion(ImageID(#ImageAnneau),RGB(255,255,255)),#True)
SetWindowLong_(WindowID(#FenetreAnneau),#GWL_EXSTYLE,#WS_EX_TOOLWINDOW) ; Cacher de la barre des taches
; StickyWindow(#FenetreAnneau,#True)
StickyWindow(#FenetreAnneau,#False) ; <= c'est ici ***************************************** pour garder les 2 images collées
HideWindow(#FenetreAnneau,#False)
Delay(100)
Else
MessageRequester("Erreur","Impossible d'ouvrir un écran dans la fenêtre!",0)
End
EndIf
EndIf
EndProcedure
FenetreSpirale()
Repeat
Evenement=WaitWindowEvent(1)
FlipBuffers()
ClearScreen(RGB(0,0,0))
Start3D()
RotateSprite3D(#Sprite3D,ElapsedMilliseconds()/5,0)
DisplaySprite3D(#Sprite3D, (240-Size)/2, (240-Size)/2)
Stop3D()
Until GetAsyncKeyState_(#VK_ESCAPE)
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.
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale
Merci beaucoup PAPIPP de ton aide
Effectivement tu as trouvé.......la moitié de la solution
J'ai sauté de joie, puis j'etais dégouté car je me suis aperçu d'une chose
Quand tu deplace une fenetre ça marche de la balle, elle ne se glisse plus entre les deux.
Top cool trop de la balle
Mais quand tu deplace l'anneau....et ben "GROSSEU GADASDROFEU" les fenetres se glissent entre les deux a nouveau
Roohhh !!!! qu'elles sont vilaines ces fenetres !!!!! elles sont d'un sans gene
Decidement, je mobilise la moitié des programmeurs de la terre avec ma connerie de fenetres
Mais encore merci beaucoup, d'avoir perdu du temps pour m'aider
Effectivement tu as trouvé.......la moitié de la solution
J'ai sauté de joie, puis j'etais dégouté car je me suis aperçu d'une chose
Quand tu deplace une fenetre ça marche de la balle, elle ne se glisse plus entre les deux.
Top cool trop de la balle

Mais quand tu deplace l'anneau....et ben "GROSSEU GADASDROFEU" les fenetres se glissent entre les deux a nouveau

Roohhh !!!! qu'elles sont vilaines ces fenetres !!!!! elles sont d'un sans gene

Decidement, je mobilise la moitié des programmeurs de la terre avec ma connerie de fenetres

Mais encore merci beaucoup, d'avoir perdu du temps pour m'aider

Re: Pour les fous de graphisme...la spirale infernale
Bonjour KCC
Encore plus proche du résultat final !!
A+
Encore plus proche du résultat final !!
Code : Tout sélectionner
; Code créé par NETMAESTRO et TYPHOON réuni pas KCC
Enumeration
#FenetreAnneau
#FenetreSpirale
#ImageAnneau
#Sprite3D
#Sprite2D
EndEnumeration
Global HwndSpirale.l,HwndAnneau.l
; Global HwndAnneau,hBrush,Region,Size
Global hBrush,Region,Size
Image=LoadImage(#ImageAnneau,"L:\program files\PB440\PB440\AnneauOr.bmp")
; Debug image
Procedure CallBack(WND,Message,lParam,wParam)
Result=#PB_ProcessPureBasicEvents
Select WND
Case HwndAnneau
If Message=#WM_MOVE
ResizeWindow(#FenetreSpirale,WindowX(#FenetreAnneau)+25,WindowY(#FenetreAnneau)+25,#PB_Ignore,#PB_Ignore)
ElseIf Message=#WM_LBUTTONDOWN
StickyWindow(#FenetreSpirale,#False)
SendMessage_(WindowID(#FenetreAnneau),#WM_NCLBUTTONDOWN,#HTCAPTION,0)
StickyWindow(#FenetreAnneau,#False)
ElseIf Message=#WM_LBUTTONUP
StickyWindow(#FenetreSpirale,#False)
; SendMessage_(WindowID(#FenetreAnneau),#WM_NCLBUTTONDOWN,#HTCAPTION,0)
StickyWindow(#FenetreAnneau,#False)
EndIf
EndSelect
ProcedureReturn Result
EndProcedure
Procedure GrabRegion(ImageID,TransColor) ; HBITMAP ImageID, COLORREF transcolor
;===============================================
; =
; Very fast bitmap -> region creator =
; By netmaestro =
; Contributors: eesau, nico, flype =
; June 26, 2007 =
; =
; *** IMPORTANT *** =
; =
; transcolor must be in BGR format =
; =
;===============================================
Structure RECTARRAY
rect.RECT[0]
EndStructure
GetObject_(ImageID,SizeOf(BITMAP),@bmp.BITMAP)
Protected width=bmp\bmWidth
Protected height=bmp\bmHeight
Protected hVisibleRgn=CreateRectRgn_(0,0,width,height)
BmiInfo.BITMAPINFOHEADER
With BmiInfo
\biSize=SizeOf(BITMAPINFOHEADER)
\biWidth=width
\biHeight=-height
\biPlanes=1
\biBitCount=32
\biCompression=#BI_RGB
EndWith
rowbytes=SizeOf(LONG)*width
*ColorBits=AllocateMemory(rowbytes*height)
hDC=GetWindowDC_(#Null)
iRes=GetDIBits_(hDC,ImageID,0,height,*ColorBits,@bmiInfo,#DIB_RGB_COLORS)
ReleaseDC_(#Null,hDC)
Structure_Max=(width*height*16)+SizeOf(RGNDATAHEADER)
*Buffer.RGNDATAHEADER=AllocateMemory(Structure_Max)
*rd.RECTARRAY=*Buffer+SizeOf(RGNDATAHEADER)
rectcount=0
For y=0 To height-1
pxcount=0
For x=0 To rowbytes-1 Step 4
*px.LONG=*ColorBits+rowbytes*y+x
If *px\l=transcolor
transcount=1:firsttrans=pxcount
x+SizeOf(LONG) :*px.LONG=*ColorBits+rowbytes*y+x
While *px\l=transcolor And x<=rowbytes-1
transcount+1:pxcount+1:x+SizeOf(LONG)
*px=*ColorBits+rowbytes*y+x
Wend
x-SizeOf(LONG) :*px.LONG=*ColorBits+rowbytes*y+x
*rd\rect[rectcount]\left=firsttrans
*rd\rect[rectcount]\top=y
*rd\rect[rectcount]\right=firsttrans+transcount
*rd\rect[rectcount]\bottom=y+1
rectcount+1
EndIf
pxcount+1
Next
Next
With *Buffer
\dwSize=SizeOf(RGNDATAHEADER)
\iType=#RDH_RECTANGLES
\nCount=rectcount
\nRgnSize=rectcount*SizeOf(RECT)
\rcBound\left=0
\rcBound\top=0
\rcBound\right=width
\rcBound\bottom=height
EndWith
RegionSize=SizeOf(RGNDATAHEADER)+(rectcount*SizeOf(RECT))
hTransparentRgn=ExtCreateRegion_(0,RegionSize,*Buffer)
CombineRgn_(hVisibleRgn,hVisibleRgn,hTransparentRgn,#RGN_XOR)
FreeMemory(*Buffer)
FreeMemory(*ColorBits)
DeleteObject_(hTransparentRgn)
ProcedureReturn hVisibleRgn
EndProcedure
Procedure FenetreSpirale()
If InitSprite()=0 Or InitSprite3D()=0
MessageRequester("Erreur","Impossible d'ouvrir l'écran et l'environnement nécessaire aux sprites !")
End
EndIf
If OpenWindow(#FenetreSpirale,0,0,240,240,"",#PB_Window_BorderLess | #PB_Window_ScreenCentered)
Region=CreateEllipticRgn_(0,0,WindowWidth(#FenetreSpirale),WindowHeight(#FenetreSpirale))
SetWindowRgn_(WindowID(#FenetreSpirale),Region,#True)
DeleteObject_(Region)
SetWindowCallback(@CallBack())
If OpenWindowedScreen(WindowID(#FenetreSpirale),0,0,240,240,0,0,0)
Size=Sqr(240*240+240*240)
CreateSprite(#Sprite2D,Size,Size,#PB_Sprite_Texture)
If StartDrawing(SpriteOutput(#Sprite2D))
For z=0 To 2800
x=Cos(z*#PI/180)*z/15
y=Sin(z*#PI/180)*z/15
Circle(Size/2+x,Size/2+y,1+z/250,RGB(255,255,255))
Next
StopDrawing()
CreateSprite3D(#Sprite3D,#Sprite2D)
EndIf
Delay(100)
hBrush=CreatePatternBrush_(ImageID(#ImageAnneau))
HwndAnneau=OpenWindow(#FenetreAnneau,WindowX(#FenetreSpirale),WindowY(#FenetreSpirale),ImageWidth(#ImageAnneau),ImageHeight(#ImageAnneau),"",#PB_Window_BorderLess | #PB_Window_ScreenCentered | #PB_Window_Invisible)
SetClassLongPtr_(WindowID(#FenetreAnneau),#GCL_HBRBACKGROUND,hBrush)
SetWindowRgn_(WindowID(#FenetreAnneau),GrabRegion(ImageID(#ImageAnneau),RGB(255,255,255)),#True)
SetWindowLong_(WindowID(#FenetreAnneau),#GWL_EXSTYLE,#WS_EX_TOOLWINDOW) ; Cacher de la barre des taches
; StickyWindow(#FenetreAnneau,#True)
StickyWindow(#FenetreAnneau,#False) ; <= c'est ici ***************************************** pour garder les 2 images collées
HideWindow(#FenetreAnneau,#False)
Delay(100)
Else
MessageRequester("Erreur","Impossible d'ouvrir un écran dans la fenêtre!",0)
End
EndIf
EndIf
EndProcedure
FenetreSpirale()
Repeat
WWE = WaitWindowEvent(1)
;WE = WindowEvent(); ne pas mettre cette fonction en service sous risque de dysfonctionnement
Fenetre = EventWindow()
EG = EventGadget()
ET = EventType()
EM = EventMenu()
EWP = EventwParam()
ELP = EventlParam()
If fenetre=#FenetreSpirale And EWP<>MEWP
StickyWindow(#FenetreSpirale,#False)
; SendMessage_(WindowID(#FenetreAnneau),#WM_NCLBUTTONDOWN,#HTCAPTION,0)
StickyWindow(#FenetreAnneau,#False)
EndIf
FlipBuffers()
ClearScreen(RGB(0,0,0))
Start3D()
RotateSprite3D(#Sprite3D,ElapsedMilliseconds()/5,0)
DisplaySprite3D(#Sprite3D, (240-Size)/2, (240-Size)/2)
Stop3D()
MWWE = WWE
;WE = WindowEvent(); ne pas mettre cette fonction en service sous risque de dysfonctionnement
MFenetre = Fenetre
MEG = EG
MET = ET
MEM = EM
MEWP = EWP
MELP = ELP
Until GetAsyncKeyState_(#VK_ESCAPE)
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.
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale
Nickel cette fois ça marche 
T'es un chef PAPIPP
Dis donc cette valse de sticky
J'aurais pas osé en mettre autant ...
Moi j'mattendais a une API de la mort, mais quand on peut faire simple....c'est encore mieux
C'est génial, je l'ai sigogné dans tous les sens et ça marche...a moins que y'a un truc que j'ai pas pensé a faire...mais autrement c'est exactement ce que je cherchais
Bon reste a l'inclure dans le reste du programme pour voir si y'a pas un truc qui coince...et c'est nickel
Encore merci d'avoir pris de ton temps pour m'aider
Je te souhaite une excelente journée

T'es un chef PAPIPP
Dis donc cette valse de sticky

J'aurais pas osé en mettre autant ...
Moi j'mattendais a une API de la mort, mais quand on peut faire simple....c'est encore mieux

C'est génial, je l'ai sigogné dans tous les sens et ça marche...a moins que y'a un truc que j'ai pas pensé a faire...mais autrement c'est exactement ce que je cherchais

Bon reste a l'inclure dans le reste du programme pour voir si y'a pas un truc qui coince...et c'est nickel
Encore merci d'avoir pris de ton temps pour m'aider
Je te souhaite une excelente journée
Re: Pour les fous de graphisme...la spirale infernale
Bonjour Kcc
En fait je n'ai pas trouvé d'autre méthode pour placer les deux fenêtres dans l'ordre
et dans toutes les cas d'événements
Il reste toutefois un léger retard pour obtenir la spirale dans le cas ou les 2 fenêtres sont cachées en partie par une autre fenêtre
et que l'on clique sur l'anneau
A+
Quand on aime on ne compte pas !Kwai chang caine a écrit : Dis donc cette valse de sticky
J'aurais pas osé en mettre autant ...
Moi j'mattendais a une API de la mort, mais quand on peut faire simple....c'est encore mieux![]()
En fait je n'ai pas trouvé d'autre méthode pour placer les deux fenêtres dans l'ordre
et dans toutes les cas d'événements
Il reste toutefois un léger retard pour obtenir la spirale dans le cas ou les 2 fenêtres sont cachées en partie par une autre fenêtre
et que l'on clique sur l'anneau
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.
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale [Résolu]
J'avais pas remarqué......
Par contre ce que j'ai remarqué y faut que je regarde, y doit manquer un refresh de l'anneau parce que quand on passe une fenetre dessus soit il est blanc, soit y prend le fond de la fenetre qui lui passe dessus
Mais grace à toi, j'ai deja bien progréssé, j'aurais jamais pensé à faire ce que tu as fais
Comme je l'ai dit, reste encore a l'inserer dans le reste du projet...je serais vraiment sur qu'a ce moment la
Tu m'as drolement dépanné, je viens de tester un truc qu'etais super chiant, avec ma version
Les msgbox y passaient derriere l'anneau
Alors je pouvais pas les lire, et comme l'anneau etait modal, je n'avais pas d'autres choix que de deplacer le msgbox avant de cliquer, pour ne pas repondre "oui" à n'importe quoi
Imagine que le msgbox y demande a KCC :

Et que comme une brouette je reponde oui parce que j'ai la flemme de deplacer le msgbox pour lire le texte caché derriere l'anneau
Et ben, en cliquant "oui" je signe mon arret de mort
C'est pour ça, j'ai testé ton code, et y me sauve la vie car le message box et ben il est devant
Et KCC il a cliqué NON les copains !!!!
KCC il a cliqué NON
KCC il a cliqué NON
Tanpis pour vous !!!!
Tanpis pour FRED aussi, j'suis sur qu'il aurait préféré que je clique oui.....pour etre tranquille, ne serais ce que pour les GIF animés et les retours à la ligne
Mais je vous aime tous trop ...et aussi mon FRED pour prendre le risque de cliquer "OUI"
Parce que KCC c'est une burne en informatique, il a jamais un programme qui marche...
Mais pour une fois qu'il veut faire une blague ...il est capable d'avoir le seul programme qu'il ne veux pas ....qui marche du premier coup
Par contre ce que j'ai remarqué y faut que je regarde, y doit manquer un refresh de l'anneau parce que quand on passe une fenetre dessus soit il est blanc, soit y prend le fond de la fenetre qui lui passe dessus

Mais grace à toi, j'ai deja bien progréssé, j'aurais jamais pensé à faire ce que tu as fais

Comme je l'ai dit, reste encore a l'inserer dans le reste du projet...je serais vraiment sur qu'a ce moment la

Tu m'as drolement dépanné, je viens de tester un truc qu'etais super chiant, avec ma version
Les msgbox y passaient derriere l'anneau

Alors je pouvais pas les lire, et comme l'anneau etait modal, je n'avais pas d'autres choix que de deplacer le msgbox avant de cliquer, pour ne pas repondre "oui" à n'importe quoi

Imagine que le msgbox y demande a KCC :

Et que comme une brouette je reponde oui parce que j'ai la flemme de deplacer le msgbox pour lire le texte caché derriere l'anneau

Et ben, en cliquant "oui" je signe mon arret de mort

C'est pour ça, j'ai testé ton code, et y me sauve la vie car le message box et ben il est devant

Et KCC il a cliqué NON les copains !!!!
KCC il a cliqué NON
KCC il a cliqué NON
Tanpis pour vous !!!!

Tanpis pour FRED aussi, j'suis sur qu'il aurait préféré que je clique oui.....pour etre tranquille, ne serais ce que pour les GIF animés et les retours à la ligne

Mais je vous aime tous trop ...et aussi mon FRED pour prendre le risque de cliquer "OUI"
Parce que KCC c'est une burne en informatique, il a jamais un programme qui marche...
Mais pour une fois qu'il veut faire une blague ...il est capable d'avoir le seul programme qu'il ne veux pas ....qui marche du premier coup

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale [Résolu]
J'savais que j'allais trouver un hic 
Quand tu recouvre l'anneau par une fenetre et que tu ferme la fenetre...la spirale passe devant l'anneau
J'ai bien cru que je trouverais rien cette fois.
Mais c'est deja beaucoup mieux que ce que j'avais ....

Quand tu recouvre l'anneau par une fenetre et que tu ferme la fenetre...la spirale passe devant l'anneau

J'ai bien cru que je trouverais rien cette fois.
Mais c'est deja beaucoup mieux que ce que j'avais ....
Re: Pour les fous de graphisme...la spirale infernale [Résolu]
heu ! j'ai pas testé vos trucs la , because je suis pas vraiment a coté de mon ordi preferé
simplement a quelques 22000 kilometres , cependant
j'ai une question
pourquoi ne fait tu pas ton animation comprenant l'anneau et la spirale en gif animé ?
je sais pas pourquoi , mais il me semble me souvenir que certains gadgets sont capables d'afficher du gif animé non ?
ou bien tu transforme ton anime en Mpg , et tu utilise une fenetre avec mini player video
qui tourne la video en boucle , meme que je crois qu'on peux mettre en pause l'animation

enfin je dis ça....
simplement a quelques 22000 kilometres , cependant
j'ai une question
pourquoi ne fait tu pas ton animation comprenant l'anneau et la spirale en gif animé ?
je sais pas pourquoi , mais il me semble me souvenir que certains gadgets sont capables d'afficher du gif animé non ?
ou bien tu transforme ton anime en Mpg , et tu utilise une fenetre avec mini player video
qui tourne la video en boucle , meme que je crois qu'on peux mettre en pause l'animation

enfin je dis ça....

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Pour les fous de graphisme...la spirale infernale [Résolu]
Remarque le truc de la vidéo c'est pas con...
Le probleme c'est que l'anneau il est découpé comme une fenetre skinée pour ne pas avoir de bords.
Je ne pense pas que je pourrais faire ça avec un webgadget ou un lecteur video, si j'me trompe surtout hesitez pas à me le dire
Le probleme c'est que l'anneau il est découpé comme une fenetre skinée pour ne pas avoir de bords.
Je ne pense pas que je pourrais faire ça avec un webgadget ou un lecteur video, si j'me trompe surtout hesitez pas à me le dire
