Avril 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 |
|
| | jeu d'ecriture | |
| | Auteur | Message |
---|
mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: jeu d'ecriture Mer 11 Fév 2015 - 20:53 | |
| bonsoir a tous je suis (a nouveau) bloqué bêtement quelqu un connait il une méthode pour écarter ou rapprocher les lettres d'un texte sans les déformer? il me faudrait une amplitude de 50% a 125% j'ai testé un zoom longitudinal , excel ,word etc... merci | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: jeu d'ecriture Mer 11 Fév 2015 - 21:44 | |
| Bonsoir mindstorm, Je ne vois pas très bien ce que tu veux faire, ni surtout dans quel objet tu veux écrire, mais a priori il n'y a pas de moyen de déformer, les caractères ont un espacement bien précis l'un par rapport à l'autre, en fonction de la police et de sa taille. Ou alors il faut changer la taille de la police, mais je ne pense pas que c'est ce que tu veux. La seule possibilité que je verrais, c'est d'écrire dans un picture, caractère par caractère, en positionnant chaque caractère avec précision... et encore non, si tu espaces par rapport à la normale, ça va, mais si tu rapproches chaque caractère va bouffer une partie du précédent (le caractère comprend le dessin du caractère lui-même et la zone de fond qui le contient). Je ne vois que le mode dessin, écrire le texte, et comme tu dis zoomer latéralement dans un sens ou dans l'autre, mais là il faut un outil externe, pas en panoramic pur. Enfin je ne vois pas comment... Ou alors un genre comme ça, mais c'est spécial: - Code:
-
DIM a$,w,h picture 1 print_target_is 1: width 1,460: HEIGHT 1,30: FONT_SIZE 1,11: FONT_BOLD 1 a$="VOYEZ LE BRICK GÉANT QUE J'EXAMINE PRÈS DU WHARF" w=TEXT_WIDTH(a$,1): WIDTH 1,w: h=TEXT_HEIGHT(a$,1): HEIGHT 1,h PRINT a$ clipboard_copy 1
picture 2: top 2,30: WIDTH 2,WIDTH(1)*1.25: HEIGHT 2,h: STRETCH_ON 2: ' 125% clipboard_paste 2
picture 3: top 3,60: width 3,WIDTH(1)/2: height 3,h: STRETCH_ON 3: ' 50% clipboard_paste 3 c'est le Stretch_On qui fait tout. | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: jeu d'ecriture Jeu 12 Fév 2015 - 13:03 | |
| merci JL35 je suis actuellement en train de recréer en 3D un vieux logiciel professionnel. Sur les panneaux routier, les lettres sont plus ou moins écarté ( c'est la France) Aujourd'hui j'utilise ce logiciel pour me créer un fichier BMP et je l'applique en texture sur l'objet 3D. Après avoir effectuer une rotation quelconque de l'objet3D je pourrai enfin refaire un fichier image BMP JPEG ... pour pouvoir l'imprimer. Le logiciel pur panoramic fonctionne déjà sauf pour les liaisons entrée sortie BMP. Le plus urgent serai la création d'une image final automatique, mais je coince aussi sur ces fichus lettres a intervalle variable et surtout si l'intervalle est inférieur a 100%. | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: jeu d'ecriture Jeu 12 Fév 2015 - 22:38 | |
| Pour tasser ou dilater des textes, tu peux utiliser la sub ci-dessous (le résultat est sous forme de fichier image). Avec un exemple d'utilisation (+125% et -50%): - Code:
-
DIM f$,fr$,a$,p1,p2,p3,zoomh,zoomv,y%,x% f$ = "Z:\Origine.bmp" fr$ = "Z:\Resultat.bmp"
WIDTH 0,700: HEIGHT 0,150 COLOR 0,128,255,255 CAPTION 0," - REDIMENSIONNER UN TEXTE -" p1=1: PICTURE p1: TOP p1,10: LEFT p1,10: WIDTH p1,460: HEIGHT p1,20 font_name 1,"Lucida Console": Font_Size 1,12 Print_Target_Is 1 a$ = "PORTEZ CE VIEUX WHISKY AU JUGE BLOND QUI FUME" WIDTH p1,TEXT_WIDTH(a$,p1) Print_Locate 0,0: Print a$ FILE_SAVE p1,f$ zoomh = 1.25: zoomv = 1 RedimImg(f$,width(p1)*zoomh,height(p1)*zoomv,fr$) p2=2: PICTURE p2: TOP p2,40: LEFT p2,10 WIDTH p2,WIDTH(p1)*zoomh: HEIGHT p2,HEIGHT(p1)*zoomv FILE_LOAD p2,fr$ zoomh = .50 RedimImg(f$,width(p1)*zoomh,height(p1)*zoomv,fr$) p3=3: PICTURE p3: TOP p3,70: LEFT p3,10 WIDTH p3,WIDTH(p1)*zoomh: HEIGHT p3,HEIGHT(p1)*zoomv FILE_LOAD p3,fr$ END
SUB RedimImg(f$,w,h,fr$) ' Redimensionner l'image f$ (Jpg, Bmp) en wxh pixels, dans fr$ (obligatoirement Bmp) DIM_LOCAL f%,a$,k%,bd% f% = 1000: WHILE OBJECT_EXISTS(f%)=1: f%=f%+1: END_WHILE FORM f%: TOP f%,0: LEFT f%,0: WIDTH f%,w: HEIGHT f%,h: BORDER_HIDE f% PICTURE f%+1: PARENT f%+1,f%: WIDTH f%+1,w: HEIGHT f%+1,h: STRETCH_ON f%+1 FILE_LOAD f%+1,f$: 2D_TARGET_IS 0 bd% = 30: ' =26 si Border_Small sur le Form 0 IMAGE f%+2: 2D_IMAGE_COPY f%+2,-8,-1*bd%,w-8,h-bd%: FILE_SAVE f%+2,fr$ DELETE f%: DELETE f%+2 END_SUB | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: jeu d'ecriture Ven 13 Fév 2015 - 21:47 | |
| bonsoir a tous J'ai trouvé la fonction magique chez microsoft mais sous word et non excel il s'agit d'un mode dans: Police, paramètres avancées, espacement. j'ai retrouvé la même chose dans open office mais toujours avec le traitement de texte. Je suppose qu il s'agit d'une fonction avancé de windows. Quelqu'un as t il une idée pour l'atteindre avec panoramic ou faut il demander a Jack?
| |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: jeu d'ecriture Ven 13 Fév 2015 - 22:59 | |
| Il y a bien une API Windows pour faire cela: SetTextSpacing. Mais cette API s'applique sur le canvas d'un objet, et non sur le handle de l'objet.
La différence est fondamentale. Le canvas est en fait la "surface de dessin" sur laquelle l'objet est "dessiné". Y compris le tete qui y est imprimé - c'est fait par des méthodes TextOut et similaires, qui dessinent le texte dans un canvas existant. Et chaque fois que l'objet est recouvert par autre chose, puis rendu visible à nouveau (par une fenêtre venant se positionner par-dessus, et qui se referme, par exemple), le canvas doit être redessiné. Windows provoque cela en envoyant des messages WM_PAINT et similaire à chaque objet concerné, et l'objet recevant ce message se redessine alors lui-même, en fonction des éléments qu'il possède. Cela se fait dans des routines évènement du type ON_PAINT.
Je peux appeler cette fonction SetTextSpacing dans une DLL. Mais alors, je dois disposer du canvas de l'objet. Et Panoramic ne donne le canvas (via la fonction HANDLE_CANVAS) que pour quelques objets particuliers, comme PICTURE ou FORM. En aucun cas pour EDIT, MEMO etc.
Il est donc exclu de faire cela de façon générale pour les objets Panoramic. Avec un certain effort, cela pourrait être fait pour les FORM ou les PICTURE.
Mais attention: MicroSoft met en garde: cette fonction, ancienne et obsolète, est déconseillé et n'est pas garantie de continuer à fonctionner à l'avenir.
En Borland (auteur de Delphi) met en garde: si cette fonction est utilisée, il faut systématiquement faire l'affichage du texte par une routine évènement ON_PAINT utilisateur, car sinon, son effet sera annulé par l'affichage du texte par Delphi.
Donc, je suis au regret de te dire qu'en l'état, il n'y a pas de solution simple à ton problème. Je te suggère d'approcher le résultat souhaité en injectant un nombre donné d'espaces entre des caractères à afficher. | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: jeu d'ecriture Sam 14 Fév 2015 - 11:10 | |
| Je me demandai juste si il était possible de piloter world ou de capturer l'image de la feuille. Je l'ai fait en manuel hier: création d'un texte conversion en pdf capture de la zone collage sur l'image Cette technique est viable pour mon usage personnel. C'est le plaisir de faire le programme complet Donc déjà un grand merci pour tout ceux à qui j'ai honteusement détourné leurs SUB | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: jeu d'ecriture Sam 14 Fév 2015 - 11:39 | |
| - Citation :
- Je me demandai juste si il était possible de piloter world
Je pense que tu voulais parler de Word, n'est-ce pas ? Oui, c'est possible. Actuellement, abec KGF.dll, je le fais avec Excel. Et selon le même principe technique, je pourrais réaliser des fonctions qui pilotent Word. Si c'est un besoin plus répétetif, ou si plusieurs Panoramiciens sont intéressés, je pourrais faire quelque chose dans ce sens. - Citation :
- capturer l'image de la feuille.
Ca, tu peux le faire déjà maintenant, sans passer par un PDF. Une simple cature d'écran (KGF.dll a une fonction qui permet de faire ça), ou la touche ImpEcran du clavier puis copier dans un Picture. Partant de là, tu peux en extraire ce que tu veux et le coller où tu veux. | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: jeu d'ecriture Sam 14 Fév 2015 - 14:31 | |
| merci je gagne une étape exemple " /> mais surtout le travail est de bien meilleur qualité. | |
| | | Contenu sponsorisé
| Sujet: Re: jeu d'ecriture | |
| |
| | | | jeu d'ecriture | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |