Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Comment rendre transparent un alpha ? | |
| | |
Auteur | Message |
---|
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 6:16 | |
| J'ai un titre sur un objet alpha mais ça fait moche parce que le fond de la fiche est marron clair tandis que le fond de l'alpha est blanc gris | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 8:44 | |
| Bonjour exdragon, Es-tu obligé de passer par un alpha ? un print ne suffit pas ? | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 9:12 | |
| Heu, c'est vrai ça^^ L'alpha est la première idée venue et je suis resté bloqué dessus Ahlala... merci RESOLU | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 9:43 | |
| Attention - ce n'est pas bon : 1. Un ALPHA est transparent, par définition. Démonstration: - Code:
-
color 0,255,0,0 alpha 1 : caption 1,"Ceci est un ALPHA" end
2. un PRINT est transparent aussi, certes. Mais un PRINT se fait de telle façon que le résultat est effacé si un objet se place devant, si l'écran passe en arrière-plan puis revient en avant, si un autre programme comme Notepad se place devant et se referme etc - dans tous ces cas, le PRINT est effacé ! Démonstration: - Code:
-
color 0,255,0,0 print "Ceci est un PRINT" picture 2 top 2,100 end
Le PICTURE est créé par défaut en (0,0), et on a beau le déplacer après la création - il a déjà effacé le PRINT ! 3. Voilà simultanément un ALPHA et un PRINT: - Code:
-
color 0,255,0,0 alpha 1 : top 1,40 : caption 1,"Ceci est un ALPHA" print "Ceci est un PRINT" picture 2 top 2,100 end
On voit que le ALPHA reste, pas le PRINT. | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 11:57 | |
| Heu... Et si tu définis le print_target dans le picture, normalement le print ne s'effacera pas... non ? | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 13:20 | |
| AH, je ne comprend pas où j'ai pu mettre une couleur à mon alpha alors oO dans mon code il n'y a rien de ce genre et pourtant il est gris. Alors que le form qui est en dessous reçoit un picture de couleur marron (un bmp).
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 13:29 | |
| @Nardo26: si le PRINT_TARGET_IS pointe dans un PICTURE, les PRINT ne s'effacent pas. C'est uniquement le cas des FORM. @Exdragon: Tu as exécuté mes exemples ? Le ALPHA y est gris aussi ? Si oui, tu as, comme pour le 2D_IMAGE_COPY, un problème de fonctionnement sous ton système. Mais je suppose que le "gris" apparaît dans ton programme et non dans mes exemples ? Car en effet, un ALPHA sur une FORM doit absolument se faire avec un fond transparent. Voici le résultat sous XP (premier exemple): [img] [/img] Comme tu vois, le ALPHA est transparent. | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 17:20 | |
| Oui oui j'ai la même chose que toi, mais c'est dans mon code que j'ai un probleme je crois, je ne lui.aie pas donné de couleur et pourtant je vois son fond. L'image met un peu de temps à se charger sur le forum hein^^ L'alpha contient la phrase "liste des éléments" | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 17:36 | |
| Une seule possibilité: tu as dans ton code quelque part la commande COLOR sur l'objet de ton ALPHA. En effet, la commande COLOR change la couleur du FOND du alpha de transparent à une autre couleur. Ccerche bien - je suis sûr que le problème vient de là. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 17:39 | |
| @extragon J'aimerais bien savoir où tu as dégoté la version 23i1 car il est possible qu'elle contienne les 2 fonctions que j'attends avec impatiente.
PS: Laisse tomber, je viens de la trouver grâce à la recherche interne (dommage pour moi elle est trop ancienne pour ce que j'attend) | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Mer 18 Jan 2012 - 18:11 | |
| OK JC Sinon pour la commande color, j'ai cherché et pas trouvé, même avec les fonctions de recherches. | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 2:03 | |
| Je n'ai toujours pas trouvé pourquoi mon alfa est gris. Il n'y a aucunes commandes color dans mon code et quand je mets en remarque les instructions qui ont un rapport avec cet alpha celui-ci disparaît, ce qui est normal, mais cela montre au moins qu'il n'y pas une couleur grise en dessous, et même lui n'est pas concerné par un color. Et mon systeme n'est pas en cause puisque ton court code fonctionne. C'est vraiment bizarre... EDIT : Je viens de comprendre pourquoi l'alpha est gris, c'est la couleur du form 0, j'ai mis le form 0 en bleu, l'alpha a pris la couleur aussi. Ce qui est étonnant, c'est sur le form 0, il y a un picture qui est chargé d'une image faite avec paint et de couleur marron comme tu peux le voir dans un des posts ci-dessus. Dans mon code, je crée le picture de fond du form 0 avant tous les autres pictures et avant l'alpha, mais il fait comme s'il était sur le form 0, sans tenir compte de la couleur du picture. Je me suis dit : je vais utiliser l'astuce donnée plus haut, de prévoir un picture coloré de la même couleur que mon fond et d'y faire un print de mon texte, puis de copier l'image du picture au bon endoit sur le picture qui me sert de fond. Mais à peine avais-je fait ce code : - Code:
-
picture 20 color 20,167,121,12 print_target_is 20 print "Liste des éléments"
Que le problème se pose encore, le print sur le picture coloré donne un print entouré d'un rectangle plein blanc, et autour il y a le fond du picture coloré. Y a un truc qui m'échappe ^^ | |
| | | Invité Invité
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 9:46 | |
| correction: - Code:
-
picture 20 color 20,167,121,12 2d_target_is 20 2d_fill_color 167,121,12 print_target_is 20 print "Liste des éléments" |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 11:09 | |
| Merci cosmos, ton code marche super ! Mais le problème reste entier au niveau de l'alpha, car il est sensé être transparent et nous permettre de voir le dessin qui y a dessous, pas nécessairement une seule couleur, c'est ça qui n'est pas logique dans mon problème. Bon en tous cas, ton astuce m'aide bien pour ce que je suis en train de faire ! J'espère que Jack pourra tester de poser un picture sur un form puis un alpha sur le picture pour voir le problème. - Code:
-
picture 1 full_space 1 file_load 1, "image200x200.bmp" alpha 2 left 2,100:top 2,100 caption 2,"test de la transparence"
EDIT : Je viens d'essayer ce code avec la solution de COSMOS et c'est problème. - Code:
-
picture 1 full_space 1 file_load 1, "image200x200.bmp" 2d_target_is 1 2d_fill_color 167,121,12 alpha 2 left 2,100:top 2,100 caption 2,"test de la transparence"
Pour le 2D_target_is j'ai essayer 1 et 0 c'est pareil. Oups, j'ai oublié color ! Mais puisque on fait un fill color, a quoi sert le color ?EDIT 2 ^^
Je viens de tester : si je mets que fillcolor, ça colore que le alpha. Si je mets que color, ça colore que le picture. EDIT 3 :/
J'ai essayé en rajoutant le color, j'ai toujours mon alpha gris :/ - Code:
-
picture 1 full_space 1 file_load 1, "image200x200.bmp" color 1,167,121,12 2d_target_is 1 2d_fill_color 167,121,12 alpha 2 left 2,100:top 2,100 caption 2,"test de la transparence"
La seule différence entre le code de cosmos qui fonctionne bien et ce code qu ne fonctionne pas, c'est le file_load ! et le fullspace J'avais déjà remarqué que le file_load agissait bizarrement... EDIT 4, grrrrrJ'ai essayé en enlevant l'un après l'autre les trucs qui sont en rem et l'alpha reste gris :/ - Code:
-
picture 1 ' full_space 1 ' file_load 1, "image200x200.bmp" ' color 1,167,121,12 2d_target_is 1 2d_fill_color 167,121,12 alpha 2 left 2,50:top 2,50 caption 2,"test"
EDIT FIN !!!J'ai mis Color 0 à la place de color 1 ça colore la fenetre sur laquelle se trouve le picture, du coup ça colore aussi mon alpha car celui-ci bien que transparent ne l'est que pour un form on dirait, il n'est pas transparent pour les pictures. D'ailleurs le résultat est l'image de mon picture avec au milieu, l'alpha coloré de la couleur du fond.
| |
| | | Invité Invité
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 12:27 | |
| Je n'ai pas le temps d'essayer les codes, de tout faire. Il me semble avoir vu qu'Alpha était transparent. C'est surement vrai sur une forme. Il faut tenir compte de ceci: lorsqu'un attribut est défini sur une fenêtre, cela s'applique sur tous les objets de cette fenêtre, jusqu'à ce qu'on modifie les attributs des objets. Ainsi on ne voit que les lettres en transparent sur l'écriture d'une forme, vu que la couleur de fond a été attribuée par celle de la forme. Mais pour moi, un Alpha est un objet opaque. Avec une couleur de fond, et une couleur de texte. Et la couleur de fond d'un ALPHA n'est pas grise, mais celle de la form 0, ou d'une autre forme. D'ailleurs je viens de faire un essai, et tu comprends mieux: - Code:
-
font_size 0,16 picture 1:width 1,200:height 1,200 alpha 2:left 2,10:top 2,10 :wait 2000:color 2,255,0,0 caption 2,"essai alpha" wait 1000 color 0,200,150,100 alpha 3:top 3,50:left 3,50:caption 3,"autre essai" Finalement un petit code, vaut tous les discours. |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 12:38 | |
| C'est vrai que l'alpha se comporte comme tu dis, mais ce n'est pas normal car le but de l'alpha c'est d'être transparent, afin qu'on puisse voir le dessin qui se trouve sous l'alpha, toi tu pense comme si l'alpha était toujours posé sur une couleur unie, mais ce n'est pas toujours le cas, c'est là que je vois un problème sur l'alpha.
Pense bien que mon alpha est posé sur le picture, donc il ne doit pas tenir compte du form normalement, mais doit au contraire prendre le fond du picture, c'est à dire être transparent pour laisser voir le dessin du picture.
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 13:05 | |
| Salut Exdragon, - Code:
-
picture 1 ' full_space 1 ' file_load 1, "image200x200.bmp" ' color 1,167,121,12 2d_target_is 1 2d_fill_color 167,121,12 alpha 2 color 2,255,255,255:' pour que la couleur de fond de l'alpha soit la même que picture left 2,50:top 2,50 caption 2,"test"
Je sais, quand l'image sera chargée, çà va pas marcher, mais tu peux toujours essayer de te rapprocher de la couleur de l'endroit ou se trouve l'ALPHA. a+ | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 13:48 | |
| Comme tu le dis, j'ai besoin de l'image :/ Donc ça ne marchera pas. Merci Au fait, sur la même fenêtre j'ai un progress_bar, et lui aussi prend la couleur comme l'alpha, et c'est pas cool^^ C'est à dire qu'au lieu de laisser voir l'image qu'il y a sous lui (le picture), il laisse voir la couleur de la fenêtre. Il y a vraiment un problème avec la transparence des objets dans panoramic, les objets semblent n'être transparents que pour le form. Voilà, ne vous cassez plus la tête, c'est un bug de panoramic, je l'ai mis dans les bugs du forum.Merci de votre aide en tous cas | |
| | | Invité Invité
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 16:58 | |
| Je sais que Klaus a un autre avis, mais moi je ne suis pas d'accord. Alpha n'est pas un objet transparent. On peut regarder dans l'aide, nulle part il est dit cela. La couleur de fond est celle de la forme sur laquelle est placée par défaut, ce qui laisse à faire croire que c'est un objet transparent. Je ne crois pas qu'ALPHA a été conçu pour entrer dans le monde de la 2D ou 3 D. Mais il y a la possibilité du click sur cet objet qui est intéressant. Maintenant il est vrai qu'on peut demander une amélioration en ce sens. Peut-être qu'il y a des basics qui permettent la transparence de cet objet. Mais c'est la volonté de son auteur de le faire ou non. Chacun définit les commandes comme il l'entende, et on peut voir bien des variantes sur les commandes d'un basic à l'autre. C'est le cas aussi par exemple pour INSTR(. Jack là codé pour n'avoir qu'un seul argument de recherche. J'ai utilisé ailleurs cette instruction avec 2 arguments. Avec Auto It il y a :string, substring,casesense,occurrence,start,count. Les 4 derniers étant optionnels. C'est l'auteur, c'est-à-dire Jack, qui décide que son basic soit ainsi. Maintenant sur certaines améliorations qu'il peut ou veut faire, il a ses priorités si il espère apporter un plus.
Désolé de ne pas te suivre, mais il n'y a aucune raison de ne pas demander une amélioration si cela te semble nécessaire. Je transcris ce que je lis, mais je ne suis pas un porte-parole. |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 17:43 | |
| Est-ce qu'il n'y a pas dans les esprits (exdragon) une confusion entre la couche alpha ajoutée en graphisme à une couleur pour définir sa transparence (un octet supplémentaire par pixel, transparence de 0 à 255), et l'objet Panoramic ALPHA qui n'a absolument rien à voir avec ça, et qui sert uniquement à contenir une donnée alphabétique ? | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 17:46 | |
| Je suis d'accord avec Cosmos (à moins que quelqu'un démontre que Alpha est vraiment transparent) C'est pourquoi je n'aurais pas employé le mot BUG. Jusqu'à présent le besoin de positionner un Alpha sur une image n'avait pas été évoqué (sauf erreur). Par contre Exdragon, c'est bien d'en faire la demande. Je suppose (sans savoir vraiment) que çà doit pas être de la tarte à réaliser. A+ PS:
Encore ce JL35 qui me double
Du coup dit-nous si tu penses que l'on peut le rendre transparent par un codage. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 17:53 | |
| Salut Jean-Claude, content de t'avoir doublé Ben oui, comme j'ai déjà dit, pixel par pixel, mais ce n'est pas de la tarte, et puis ce n'est plus un alpha du coup, c'est un dessin. Mais enfin c'est faisable. Tu écris ton texte noir sur blanc dans un objet invisible, et tu recopies uniquement les pixels noirs dans le picture. Par exemple: - Code:
-
DIM tx$, x%, y%, w%, h%, i%, j% width 0, 500: height 0, 250 PICTURE 1: WIDTH 1, 450: HEIGHT 1, 200: COLOR 1, 0,255,255 2D_TARGET_IS 1: 2D_FILL_COLOR 255,255,0: 2D_RECTANGLE 100,50,300,150 PICTURE 100: TOP 100,-200: 2D_TARGET_IS 100: 2D_FILL_COLOR 1,1,1 PRINT_TARGET_IS 100 FONT_SIZE 100, 26: FONT_BOLD 100: ' caractéristiques du texte à écrire tx$ = "Mon texte que voici": x% = 50: y% = 80: ' emplacement d'écriture w% = TEXT_WIDTH(tx$,100): h% = TEXT_HEIGHT(tx$,100): WIDTH 100, w%: HEIGHT 100, h% PRINT tx$: ' on écrit en noir dans le picture caché 2D_TARGET_IS 1: 2D_PEN_COLOR 255,0,0: ' écriture en rouge, par exemple FOR j% = 0 TO h%-1: ' recopie dans le Picture 1 des pixels significatifs FOR i% = 0 TO w%-1 IF COLOR_PIXEL_RED(100,i%,j%) <> 1 THEN 2D_POINT x%+i%,y%+j% NEXT i% NEXT j% END ça ne va pas à la vitesse de l'éclair, mais c'est supportable pour la plupart des applications (mais sans doute pas pour les jeux). Mais évidemment ce serait bien de pouvoir écrire sans cacher le fond d'origine.
Dernière édition par JL35 le Lun 30 Jan 2012 - 22:13, édité 1 fois | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 19:12 | |
| Bien compliqué, mais çà marche.
Tu viens, involontairement, de me faire découvrir un petit bug dans les choix de l'éditeur.
A+ | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 20:14 | |
| Un alpha, tous les langages de programmation visuelle (VB,Delphi,etc) le rendent transparent, et ce n'est pas par hasard. Par exemple comment feras-tu si ton alpha doit être posé sur une image de fond qui comporte donc un dessin et non une couleur unie ? C'est la logique même qu'un alpha soit transparent, dans panoramic je pense pas que ce soit volontaire de la part de Jack de l'avoir fait sans transparence, simplement il a constaté que l'alpha était transparent sur le form, cela lui ,a suffit, mais c'est à nous, à moi en l’occurrence dans ce cas précis, de lui faire remarquer un bug ou du moins une amélioration.
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment rendre transparent un alpha ? Lun 30 Jan 2012 - 21:11 | |
| Eh, je le sais bien que le fond de l'alpha n'est pas transparent dans Panoramic - Citation :
- comment feras-tu si ton alpha doit être posé sur une image de fond qui comporte donc un dessin et non une couleur unie
dans ce cas-là (ça m'arrive sur des photos), j'applique la solution ci-dessus... c'est au moins une possibilité qui évite d'être coincé. | |
| | | Contenu sponsorisé
| Sujet: Re: Comment rendre transparent un alpha ? | |
| |
| | | | Comment rendre transparent un alpha ? | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |