[ok] roundbox(),box(),circle()... et outline

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: [ok] roundbox(),box(),circle()... et outline

Message par Mesa »

Vous avez de la chance que ça marche car d'après l'aide ça ne devrait pas !

Dans la rubrique DrawingMode()
Après le mode #PB_2DDrawing_Outlined, on peut lire
Note: Les modes suivants ne fonctionnent qu'avec ImageOutput() et CanvasOutput(). Ils sont ignorés pour toutes les autres sorties:
Donc tous les modes comme #PB_2DDrawing_AlphaBlend, #PB_2DDrawing_AlphaClip, #PB_2DDrawing_AlphaChannel, #PB_2DDrawing_AllChannels, etc ne devraient pas marcher avec spriteoutput ! :wink:

J'ai vérifié dans la doc anglaise, c'est la même chose.

M.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: [ok] roundbox(),box(),circle()... et outline

Message par blendman »

@falsam : Mr le président, je tiens à te dire qu'il faut arrêter l'alcool :mrgreen:
Car ce n'est pas de cet alpha là dont je parlais ^^.

J'avais bien précisé (d'ailleurs, tu l'as toi-même quoté ;)) :
Ben, je confirme: si tu supprimes #PB_Sprite_AlphaBlending, tu ne peux plus utiliser la transparence (RGBA() ou la transparence d'une image png) avec ton sprite :D
Je répète pour mr le président qui dort tout au fond :mrgreen: : RGBA() et transparence d'une Image PNG (soit avec drawAlphaImage(), comme sur mon code posté).

J'avais bien vu que l'alpha d'un sprite pouvait varier (nommé intensité d'ailleurs dans DisplayTransparentSprite()) même si on enlève le flag (c'est vrai que ça c'est surprenant, mais j'imagine que c'est un autre alpha dont il s'agit), mais ça ne change rien au problème. Si on enlève ce flag, on perd la gestion de l'alpha des images avec canal Alpha (png) et des couleurs avec RGBA(). Et c'était ça que je cherchais à conserver avec le mode outlined ;).

Regarde le code que j'ai posté dans le message précédent et tu verras qu'on n'a pas du tout la transparence des image et des couleurs RGBA(), en enlevant le flag, notamment ces lignes :

Code : Tout sélectionner

DrawingMode(#PB_2DDrawing_AlphaBlend)
  DrawAlphaImage(ImageID(0),0,0)
 
  Box(50,50,50,50,RGBA(0,120,0,10)) ; devrai être transparent et ne l'est pas
  Box(110,50,50,50,RGBA(0,120,0,255)) ; pour comparer
Donc, non ton code n'est en rien magique :(, car il ne résolvait pas mon problème, en fait il l'empirait même :mrgreen: puisque je perdais la gestion de l'alpha sur les images et les couleur RGBA(). Du coup, je suis désolé, mais tu es viré mr l'ex-président :mrgreen:.

Sur mon code, on voit bien que les box() ont la même transparence alors qu'elles ne devraient pas si on utilisait le flag que tu proposais d'enlever.

Comme je le disais, la seule méthode qui fonctionne dans toutes celles qu'on m'a proposé est bien de combiner #pb_2ddrawing_alphablend|#pb_2ddrawing_outlined
Ainsi, je conserve l'alpha des images (canal alpha d'un png), des couleurs (RGBA()), et je peux mélanger outlined ou pas, etc.. Voire changer l'alpha (l'intensité ou opacité) du sprite si ça me chante (ce que je fais d'ailleurs, puisque je l'utilise en tant qu'opacité pour mon calque).

PS : au fait, ton message m'a fait bien rire :mrgreen:


@MEsa : j'avais vu ça dans l'aide, mais ça aurait été surprenant que le sprite ne gère pas l'alphablend. A mon avis, c'est lié à l'ancien système des sprites, qui a changé récemment (en 5.20, il me semble), peut-être que la doc n'a simplement pas été actualisée dans cette partie-là ;).
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [ok] roundbox(),box(),circle()... et outline

Message par falsam »

blendman a écrit :je tiens à te dire qu'il faut arrêter l'alcool
C'est bien pire avec l'alcool.
blendman a écrit :Du coup, je suis désolé, mais tu es viré mr l'ex-président
L'affaire est entendu et j'accepte cette décision avec humilité.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre