Hey Falsam! Si je pouvais, je le ferais volontiers...
D'après Mesa, il faut nicher ses commandes dans un start/stop de gestion de couches. Kek ten pense?
[5.40b1]VectorCanvas et transparence
Re: VectorCanvas et transparence
@Mesa : dans la doc, il est noté ( pour DrawVectorImage()) ) :
Si ça marche sans la modifier, c'est qu'il doit y avoir un bug lorsqu'on la modifie ou qu'on la créé (avec createImage()), non ? Car ça devrait marcher dans tous les cas de figures.
Ok :
- loadimage() seul : voir edit -> pas ok en fait...
Pas Ok :
- loadimage() + modification (avec un startdrawing()/stopdrawing())
- CreateImage() avec transparence
- CreateImage() avec transparence + modification (avec un startdrawing()/stopdrawing())
EDIT : ah ben, non, ça ne marche même pas avec un simple LoadImage() en png, il doit donc y avoir un bug ou alors il y a une erreur dans la documentation. Mais ça m'étonnerait quand même qu'on ne puisse pas charger un simple png avec transparence sur un canvasvector ^^.
Donc, si on a une image avec des pixels transparents , ça ne fonctionne que si on load l'image sans la modifier. Mais si on la créé avec CreateImage() ou qu'on la modifie avec LoadImage() et startdrawing()/stopdrawing() ça ne marche plus.Cette transparence est appliquée en plus de tous les pixels transparents déjà présents dans l'image source.
Si ça marche sans la modifier, c'est qu'il doit y avoir un bug lorsqu'on la modifie ou qu'on la créé (avec createImage()), non ? Car ça devrait marcher dans tous les cas de figures.
Ok :
- loadimage() seul : voir edit -> pas ok en fait...
Pas Ok :
- loadimage() + modification (avec un startdrawing()/stopdrawing())
- CreateImage() avec transparence
- CreateImage() avec transparence + modification (avec un startdrawing()/stopdrawing())
EDIT : ah ben, non, ça ne marche même pas avec un simple LoadImage() en png, il doit donc y avoir un bug ou alors il y a une erreur dans la documentation. Mais ça m'étonnerait quand même qu'on ne puisse pas charger un simple png avec transparence sur un canvasvector ^^.
Dernière modification par blendman le mar. 01/sept./2015 12:22, modifié 1 fois.
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: VectorCanvas et transparence
Kek j'en pense ? tu en a de bien bonnes toi. je vais devoir fouiner sur le net pour savoir quelles couches je vais devoir choisir et demander à mère denis (Pas denis de ce forum mais bien mére denis) avec quelle machine je vais nettoyer mes couches dans un souci de protéger la planète bien que je sois conscient que si je lave moi même les couches, je risque de planter l'économie des entreprises qui fabriquent ces couches. Je ne sais pas si tu vois bien le dilemme !Ollivier a écrit :D'après Mesa, il faut nicher ses commandes dans un start/stop de gestion de couches. Kek ten pense?
Faudrait qu'il arrête le p'tit pékét le père Mesa. Il est a cotés de la plaque dans sa réponse. Un peu comme moi parfois.
Si tu as lu ce que j'ai dit, tu auras compris que je suis d'accord avec toi. Ca semble être un bug.blendman a écrit :c'est qu'il doit y avoir un bug lorsqu'on la modifie ou qu'on la créé (avec createImage()), non ?
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: VectorCanvas et transparence
sur ce code-ci, l'image ne devrait-elle pas être transparente ?
Si oui, c'est alors DrawVectorImage() qui a un bug avec la transparence et si non, et bien, il faut corriger la documentation en expliquant qu'on ne peut pas charger d'image transparente, ce qui serait quand même très balot
@Falsam : oui, j'avais compris qu'on pense qu'il y a un bug, mais comme c'est une lib toute nouvelle, pitet c'est nous qui sommes totalement à coté de la plaque
(bon, même si j'ai quand même un doute ^^).
Code : Tout sélectionner
w = 380
h = 200
UsePNGImageDecoder()
If OpenWindow(0, 0, 0, w, h, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 0, 0, w, h)
;IMAGE MATRICIELLE
LoadImage(0, #PB_Compiler_Home + "examples/3D/Data/Textures/grass2.png")
;IMAGES VECTORIELLES
If StartVectorDrawing(CanvasVectorOutput(0))
AddPathBox(0,0,w,h)
VectorSourceColor(RGBA(230,230,230,255))
FillPath()
DrawVectorImage(ImageID(0))
StopVectorDrawing()
EndIf
Repeat
Event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
EndIf

@Falsam : oui, j'avais compris qu'on pense qu'il y a un bug, mais comme c'est une lib toute nouvelle, pitet c'est nous qui sommes totalement à coté de la plaque

http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: VectorCanvas et transparence
En tout cas moi je suis à cotés de la plaque .....
Ta démonstration montre que l'image grass2.png ne s'affiche pas avec un fond transparent !
La fonction DrawVectorImage ne gère pas la couche alpha des images PNG.
Je passe la main ..... pour le moment.
Ta démonstration montre que l'image grass2.png ne s'affiche pas avec un fond transparent !
La fonction DrawVectorImage ne gère pas la couche alpha des images PNG.
Je passe la main ..... pour le moment.
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: VectorCanvas et transparence
C'est un bug, je l'ai posté sur le forum anglais, car la doc indique :
De plus, cette bibliothèque (VectorDrawing) prend en charge la transparence alpha dans toutes ses opérations.
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: VectorCanvas et transparence
@Falsam
T'rigoles tow: va pas raver que l'mesow y lâche la péquette avant quy soit six godasses sous Teo!
Pô bzoin d'net pour gérer d'la couche! Iffik au bar a dit l'aut' coup en s'mettant 5 fri 5 légum' de dijo dans l'goze, que t'en as que 256 des couches!
Il a précisé "Dow pissance huit!" 'vant d'se vautrer dans les géraniums d'la vieille Aurore De Lanatuhr.
Plus moy'après d'lui sortir l'moindre verre du nez!
Bon... De 0 à 255 les couches... C'est p'têt ça qu'il faut préciser avec le nouveau BeginVectorLayer(couche)
EndVectorLayer() pour éviter de rétamer? Qu'est-ce que disent les shakespearistes?
(Edité)
@Blendman
Vu sur ton sujet EN. Donc bug après test de Demivec. Autant ajouter un lien dans la section Bug Report, si tu peux et, si tu ne l'as pas déjà fait...
T'rigoles tow: va pas raver que l'mesow y lâche la péquette avant quy soit six godasses sous Teo!
Pô bzoin d'net pour gérer d'la couche! Iffik au bar a dit l'aut' coup en s'mettant 5 fri 5 légum' de dijo dans l'goze, que t'en as que 256 des couches!
Il a précisé "Dow pissance huit!" 'vant d'se vautrer dans les géraniums d'la vieille Aurore De Lanatuhr.
Plus moy'après d'lui sortir l'moindre verre du nez!
Bon... De 0 à 255 les couches... C'est p'têt ça qu'il faut préciser avec le nouveau BeginVectorLayer(couche)
EndVectorLayer() pour éviter de rétamer? Qu'est-ce que disent les shakespearistes?
(Edité)
@Blendman
Vu sur ton sujet EN. Donc bug après test de Demivec. Autant ajouter un lien dans la section Bug Report, si tu peux et, si tu ne l'as pas déjà fait...