12 | |
Auteur | Messages |
---|---|
Admin | #1 Posté le 27/12/2009 à 23:06:00 |
Bonjour, Comment écrire verticalement? A part de détailler chaque lettre dans un label et de les assembler en vertical dans un container: Je vois pas A+ JY Un bon basic vaut mieux qu'un Bill-Basic | |
Admin | #2 Posté le 27/12/2009 à 23:07:00 |
mettre une image d'un texte ecris verticalement comme ca par exemple : Mais bon il y surement mieux a faire | |
Admin | #3 Posté le 27/12/2009 à 23:07:00 |
Salut, Je n'y aurais pas pensé...Le truc c'est que je ne sais pas créé ça dans le code. Mon projet c'est de créer des étiquettes de texte vertical sur un graph à partir d'un texte pris dans une BdD. là, il y a un composant à créer! Avis..... A+ JY Un bon basic vaut mieux qu'un Bill-Basic | |
Admin | #4 Posté le 27/12/2009 à 23:08:00 |
citation: Le truc c'est que je ne sais pas créé ça dans le code. Mon projet c'est de créer des étiquettes de texte vertical sur un graph à partir d'un texte pris dans une BdD./quote] C'est bien ce que je craignais. Mon bricolage reste un bricolage... là, il y à un composant à créer! Avis..... | |
Admin | #5 Posté le 27/12/2009 à 23:08:00 |
Peut être ca : http://gambaslinux.eg2.fr/articles.php?lng=fr&pg=379 | |
Admin | #6 Posté le 27/12/2009 à 23:09:00 |
Ca, ça ne manipule que des images... il faudrait transformer une chaine de caractères en image et dans gambas je doute que ce soit faisable... mais peut être que gambix va nous trouver LA solution qui marche | |
Admin | #7 Posté le 27/12/2009 à 23:09:00 |
Bien le bonjour, En cliquant sur le lien donné par Spheris, j'avais presque l'espoir qu'il y ait quelque part un truc dans lequel on puisse glisser un texte: Ben, non! Pourtant VB est loin d'être aussi riche(je suis resté au 6)! Il y a même un oilpaint. Super! A+ JY Un bon basic vaut mieux qu'un Bill-Basic | |
Admin | #8 Posté le 27/12/2009 à 23:10:00 |
Vous avez demander un génie? Dim hPic as New Picture Dim sMyText as String sMyText = "toto titi tata" Draw.Begin(hPic) 'on redimentionne hPic a la taille du text hPic.Resize(Draw.TextWidth,Draw.TextHeight) 'on remplis le hpic avec une couleur de base 'sinon on a une erreur hPic.Fill(gb.white) 'On dessine le texte 'mais on pourrait aussi définir (avant le resize) 'la police via draw.font Draw.Text(sMyText,0,0) Draw.End 'Alors la on utilise la convertion en image 'pour utilisé la propriété rotate de image 'puis rotate retourne une nouvelle image 'qu'on converti en picture pour la réaffecter a hpic hPic = hPic.Image.Rotate(90).Picture -------------------------- Voila ... en claire pour la dernière manip afin que je n'ai pas a me répeter sur les objets : dim hPic, hRotpic as picture dim hImage, hRotImage as image hImage = hPic.Image hRotImage = hImage.Rotate(90) hRotPic = hRotImage.Picture hPic = hRotPic en une ligne = hPic = hPic.Image.Rotate(90).Picture Du moment que l fonction retourne un objet on peut directement utilisé ses propriété a la suite Dim Myarray as String myarray = ["titi", "toto", "tata"] MyArray.Sort Peut aussi se dire if ["titi", "toto", "tata"].Find(s) then ... sachant que [] retourne un tableau. Mais aussi on peut faire : print split(File.Load("myfile"))[1] Bien allez, je vous laisse digérer ça c'est une partie importante du monde objet | |
Admin | #9 Posté le 27/12/2009 à 23:10:00 |
Hello Génie! Quand tu écris du code tu oublies que tu t'adresse à des mortels.....Veux tu je t'en prie etre plus concis: citation: Draw.Begin(hPic) me renvois "bad picture" Alors, j'ai essayé de débuter mon dessin sur ma feuille (me) ou de dessiner une image sur ma form. Rien....Bon si : draw.begin(me) passe mais citation: 'on redimentionne hPic a la taille du text hPic.Resize(Draw.TextWidth,Draw.TextHeight) là: il me demande de lui donner des interger et non des fonction alors j'ai conciencieusement convertie: hPic.Resize(cint(Draw.TextWidth),cint(Draw.TextHeight)) Gambas n'a pas voulu se laisser faire. Heureusement j'en suis arrivé à me dire mais il parle peut etre en GB3 Alors maintenant tu nous le dis: c'est du 2 ou du 3? A+ JY PS: excuses pour les autres: j'ai patienté et personne ne répondais alors..... | |
Admin | #10 Posté le 27/12/2009 à 23:11:00 |
PUBLIC SUB Form_Open() DIM hPic AS NEW Picture DIM sText AS String sText = "coucou" hPic.Resize(ME.Font.Width(sText), ME.Font.Height(sText)) Draw.Begin(hPic) hPic.Fill(Color.Transparent) Draw.Text(sText, 0, 0) Draw.End hPic = hPic.Image.Rotate(Rad(90)).Picture ME.Picture = hPic END Bien ce code est bon ! On fait un rad(90) car gambas comme beaucoup de langage parle en radian pas en degrés donc il faut convertir Comme on dit, Gambas, il y a moins bien, mais c'est payant ! | |
Admin | #11 Posté le 27/12/2009 à 23:11:00 |
Super! un très grand merci! Je vais pouvoir mettre des légendes verticales sur un graph. A+ JY Un bon basic vaut mieux qu'un Bill-Basic | |
Admin | #12 Posté le 27/12/2009 à 23:12:00 |
Un peu compliqué quand même.... J'espère que c'est plus simple sur Gambas 3 | |
Admin | #13 Posté le 27/12/2009 à 23:13:00 |
Salut à tous ben, c'est même plus compliqué que ça, puisse qu'on ne peut pas avoir de tableau d'image Mais ça marche. Oui, c'est lourd, oui c'est pas encore au point mais ça me plait. Merci Géni! A+ JY Un bon basic vaut mieux qu'un Bill-Basic | |
Admin | #14 Posté le 27/12/2009 à 23:13:00 |
bah ya pas vraiement de manière plus simple de fonctionner. pour simplifier vous vous faite une fonction qui prend un string pour argument et un entier d'angle et qui retourne un picture comme ça ya plus qu'a : mypic = VertText("montext", 90) Comme on dit, Gambas, il y a moins bien, mais c'est payant ! | |
Admin | #15 Posté le 27/12/2009 à 23:13:00 |
ne peut on pas faire un GRAB sur un label ? pour créer une image de ce label et pour l'utiliser à foison ? | |
12 |