| Nouvelle fonction WriteTextOverPicture | |
|
+4Yannick bignono Jicehel Klaus 8 participants |
|
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 10:29 | |
| J'ai ajoute la fonction WriteTextOverPicture dans KGF.dll. Elle fait partie des fonctions de gestion d'images, mais n'utilisa pas l'image interne. Elle travaille directement sur un picture Panoramic, dont il faut lui passer le handle_canvas. En fait, ellel fait la même chose que print. Mais il y a une différence de taille: le texte imprimé par print efface le fond des caractères. On peut améliorer la situation en utilisant 2d_fill_color pour avoir la même couleur de fond que celle du picture, mais cela n'a un sens que s'il s'agit d'un fond mono-chrome. Dès qu'on veut inscrire un libellé sur un dessin tracé dans le picture, ou dès qu'on a une photo dans le picture, l'effet est désagréable, quoi qu'on fasse. Cette nouvelle fonction écrit en fond transparent, quelque soit le fond. C'est son principal intérêt. Et on peut spécifier la police, la taille, les attributs (gras, italique, souligné, barré) et la couleur L'appel est le suivant: - Code:
-
i% = dll_call6("WriteTextOverPicture",hnd%,pos%,adr(text$),adr(font$),attrib%,coul%) Plus de détails dans la doc. Et voici un programme de démo: - Code:
-
' text WriteTextOverPicture.bas
dim i%, hnd%, f$, r%, g%, b% dim coul%, font$, text$, attrib%, pos% dim aBold% : aBold% = 1 dim aItalic% : aItalic% = 2 dim aUnder% : aUnder% = 4 dim aStrike% : aStrike% = 8 dim aSize% : aSize% = 16 dim pX% : pX% = 1 dim pY% : pY% = 65536
dll_on "KGF.dll"
open_dialog 2 f$ = file_name$(2) picture 1 : full_space 1 : ' stretch_on 1 2d_target_is 1 file_load 1,f$
hnd% = handle_canvas(1) r% = 255 g% = 0 b% = 0 coul% = (b%*256+g%)*256+r% font$ = "Times New Roman" text$ = "Mon message" attrib% = aBold% + aUnder% + aItalic% + aSize%*36 pos% = pX%*90 + pY%*125 i% = dll_call6("WriteTextOverPicture",hnd%,pos%,adr(text$),adr(font$),attrib%,coul%)
end
| |
|
| |
Invité Invité
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 11:17 | |
| Bonjour Klaus, J'ai l'erreur suivante:"(29) Not correct arithmetic expression : Error in Function, Line : 30"Je suis désolé Je n'ai pas téléchargé la dernière version. Je suis sur celle d'hier soir! |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 11:22 | |
| @Cosmos70: As-tu vraiment la bonne version ? Il faut la version 1.40. @Tous: J'ai ajouté une possibilité bluffante à cette fonction: on peut tourner le texte dans n'importe quel angle, mesuré en degrés ! L'angle est passé avec les attributs, dans les 16 bits de poids fort des attributs (multiplié par 65536). Voici le programme de démo adapté à un angle de 30 degrés: - Code:
-
' text WriteTextOverPicture.bas
dim i%, hnd%, f$, r%, g%, b%, degre% dim coul%, font$, text$, attrib%, pos% dim aBold% : aBold% = 1 dim aItalic% : aItalic% = 2 dim aUnder% : aUnder% = 4 dim aStrike% : aStrike% = 8 dim aSize% : aSize% = 16 dim aRotate% : aRotate% = 65536 dim pX% : pX% = 1 dim pY% : pY% = 65536
dll_on "KGF.dll"
open_dialog 2 f$ = file_name$(2) picture 1 : full_space 1 : ' stretch_on 1 file_load 1,f$
hnd% = handle_canvas(1) r% = 255 g% = 0 b% = 0 coul% = (b%*256+g%)*256+r% font$ = "Times New Roman" text$ = "Mon message" degre% = 30 attrib% = aBold% + aUnder% + aItalic% + aSize%*36 + aRotate%*degre% pos% = pX%*90 + pY%*125 i% = dll_call6("WriteTextOverPicture",hnd%,pos%,adr(text$),adr(font$),attrib%,coul%)
end
Dernière édition par Klaus le Jeu 30 Aoû 2012 - 12:11, édité 1 fois | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 11:24 | |
| Merci Klaus, encore une fonction très utile Ça marcherait aussi sur une scène 3D ? | |
|
| |
Invité Invité
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 11:27 | |
| @Klaus, tu as répondu pendant que j'éditais. Si tu en rajoutes tous les 5 mn, je vais attente que tu te calme! Je verrais plus tard |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 12:11 | |
| Cette fonction est stable, maintenant.
Depuis plusieurs semaines, je cherchais un moyen d'imprimer du texte en rotation libre, et je me suis toujours cassé les dents sur ce problème. Et ce matin, un éclair de lucidité m'a montré la solution qui est pourtant d'une simplicité enfantine.
J'ai donc intégré cette possibilité, spectaculaire il est vrai, à ma fonction WriteTextOverPicture, qui du coup devient vraiment intéressante. On peut l'utiliser, par exemple, pour écrire un texte vertical dans un picture monochrome et utiliser ce picture comme bouton vertical étroit, par exemple. Ou intégrer ce picture avec ma chaine de traitement d'images en transparence sur un autre, ou ... A vous d'imaginer des emplois possibles.
Et quant à la question de Jicehel: non, cela ne pourra pas marcher sur un Scene3d qui n'a rien à voir avec un picture. Mais tu peux créer un BMP du texte écrit avec file_save, puis utiliser cela comme texture pour habiller un objet, peut-être ? Je ne connais pas la 3d. Ce qui est sûr, c'est que ça ne marche pas non plus sur un scene2d - on ne peut pas avoir un handle_canvas pour cet objet. | |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 12:31 | |
| Bonjour Klaus, Vraiment, c'est génial de pouvoir écrire en biais, verticalement, etcc...! Par contre, j'ai essayé avec la police Fixedsys et Courier, et le texte reste obstinément droit alors que j'avais mis un angle de 290°! J'ai cru que c'était dû à une police à pas fixe, mais j'ai essayé avec la police FangSong qui est une police à pas fixe aussi et ça a marché! Donc mystère? Ça ne doit pas fonctionner avec toutes les polices, mais ce que tu as fait là, c'est déjà très très bien! Merci encore! PS: Manque plus qu'à faire pivoter les textes suivant les axes y ou z. On pourrait avoir des textes écrit dans tous les sens, même à l'envers! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 30 Aoû 2012 - 12:32 | |
| @ cosmos70, Il va falloir créer une application de mise à jours automatique toute les deux heures pour KGF.dll.... @ Klaus, Encore une fonction bien utile, BRAVO !!! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 12:36 | |
| L'orientation du texte ne peut marcher qu'avec des polices "True Type". Les autres attributs sont gérés quelque soit la police.
EDIT
La doc est mise à jour pour signaler cela. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 30 Aoû 2012 - 14:14 | |
| heu...et pourquoi ?... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 14:31 | |
| Si tu faos comme ceci, ça marche mieux: - Code:
-
dim ver$, vers%
dll_on "KGF.dll" ver$ = string$(25," ") vers% = dll_call1("KGFdllVersion",adr(ver$)) dll_off message ver$ end
Il faut adr(ver$) au lieu de adr(vers$)... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 30 Aoû 2012 - 14:49 | |
| C'était la démo du fichier HLP... | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 15:24 | |
| - Klaus a écrit:
- Si tu faos comme ceci, ça marche mieux:
Alors faos comme on te dit et ça marchera mieux! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 30 Aoû 2012 - 15:46 | |
| j'avais fait comme me disait le HLP sauf que le HLP m' a dit une c....erie..heu...ânerie ... donc j'ai fais comme a dit Klaus dans le post et çà fonctionne... CQFD , il faut que Klaus corrige le HLP... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 16:07 | |
| c'est dans l'aide de la dll que c'est marqué "vers$" au lieu de "ver$" ? Enfin le plus simple est de mettre un S dans ton dim et d'utiliser vers$ partout. (enfin je trouve) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 16:44 | |
| Désolé pour l'erreur dans KGF.hlp. Ceci est corrigé.
Continuez à signaler toute anomalie - erreur, faute de frappe ou de grammaire, ... C'est ainsi qu'on le fera évoluer.
Remarque générale: par conviction et par principe, je fais très attention à tout ce qui peut ressembler à une faute de français. J'y suis très attaché, et en général, le correcteur d'orthographe dans mon browser est d'une aide appréciable. Mais pas toujours. Et il m'arrive de vouloir poster une réponse très vite, et une faute peut m'échapper. Mais n'oublions pas: je suis allemand, et le français est ma seconde langue étrangère, la première ayant été le latin (eh oui...). Raison de plus pour moi de me surveiller au niveau de l'orthographe, mais j'accepte toutes les aides, surtout si elles sont proposées avec autant d'humour que les remarques de Papydall, ce que j'apprécie particulièrement.
(Nom correcteur d'orthographe révèle une anomalie sur Papydall - est-ce normal ?) | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 17:23 | |
| Je sais bien Klaus, et si tout le monde parlait un français aussi correct que le tien et ne faisait pas plus de fautes d'orthographe ce serait bien agréable (je ne parle pas de fautes de frappe ou d'inattention, inévitables pour tout le monde si on tape un peu vite). Tiens, juste une petite remarque, une faute très courante (même des journalistes la font), c'est d'écrire quelque quand il faut écrire quel que (je le dis parce que je t'ai vu l'écrire), là le correcteur d'orthographe n'y peut rien. Par exemple on doit écrire: j'irai quelque part quel que soit le temps, et quelles que soient les circonstances. (ref http://www.francaisfacile.com/exercices/exercice-francais-2/exercice-francais-26971.php ) | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 17:40 | |
| Klaus, je pense que je fais au moins autant de fautes que toi et principalement par ce que quand je tape, je ne fais pas toujours attention à ce que je tape... d'autrefois tout simplement, par ce que je ne me souviens plus de la bonne règle ou de la bonne orthographe. En tout cas Klaus, si l'on ne te connaissait pas si bien, je pense que personne ne pourrais se douter que le français n'ai pas ta langue maternelle. (A part peut être quand tu discute avec Séverin .... ) Et en plus tu fais un travail de documentation qui je pense n'est égalé par personne sur ce forum pour tes programmes et DLL... J'espère que tu continuera encore de faire quelques fautes de frappe ou quelques menues erreurs, d'une part par ce que tu les corriges vite et en plus ça nous rassure de voir que tu peux aussi faire de petites erreurs comme la plus part d'entre nous | |
|
| |
Invité Invité
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 17:51 | |
| Pour ce qui concerne les fautes d'orthographe, je n'ai pas de correcteur avec Qt Web. Mais lorsque j'ai un peu de temps, je me sers de ceci: http://www.reverso.net/orthographe/correcteur-francais/Il fut un temps très lointain, où j'ai fait un stage en infographie, une maison qui faisait de la pub sur un support plastique qu'on découpait, comme des décalcomanies. On pouvait mettre du texte sur une courbe ou un cercle. En dehors de le faire en Panoramic, lettre par lettre avec un angle qui se modifie, vois-tu une possibilitée de faire une fonction spécifique pour cela? Pour l'instant j'en ai pas besoin, mais vu que tu es en plein dedans, et que si cela ne te semble pas compliqué, cela pourrait servir un jour ou l'autre. Je n'ai toujours pas téléchargé la dernière version. J'attends que tu t'endormes! |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 18:50 | |
| Salut tout le monde
Tout le monde fait des fautes de frappe et des fautes d’orthographe et CE N’EST PAS UN PROBLEME. Après tout, nous ne sommes pas, forcement, des littéraires ! Et surtout si la langue Française (que j’adore !) n’est pas notre langue maternelle (comme Klaus et moi-même). Par ailleurs, je trouve que Klaus écrit en Français tout à fait correct et meilleur que celui de beaucoup d’autres.
Si j’ai réagit, parfois, en signalant une faute de frappe (qui me fait sourire) c’est uniquement dans le sens de la plaisanterie.
Il m’arrive parfois de lire et relire une phrase (sans queue ni tête) et de ne pas comprendre ce qu’on voulait dire. Et je ne parle pas ici de vocabulaire ; le mien est forcement limité mais je peux toujours consulter un dictionnaire si besoin est. Mais c’est au niveau de la construction logique de la phrase (parfois ça laisse à désirer) et surtout au niveau de la grammaire.
PS : mille excuses Klaus d’avoir polluer ton post par mon charabia.
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 30 Aoû 2012 - 18:53 | |
| @ Klaus, J' essaie d'écrire un français assez correct, sans trop de fautes d' orthographe, mais nul n'est infaillible. Je ne ferai jamais de reproches à ce sujet même si je suis un peu allergique au langage SMS . Par contre je n'hésite pas à signaler des erreurs ou faute de frappe sur un code. Pas pour faire l'emmerdeur de service mais pour que si quelqu'un d' encore moins connaisseur que moi copie et essaie ce code, il ne se retrouve pas à se gratter la tête au point de se retrouver avec une calvitie... En tout cas, ton français est très correct d'autant plus qu'il n'est pas ta langue maternelle et pour le latin... nul n'est parfait que veux tu... ( Pour l'éditeur nous sommes tous des extra-terrestres ) Edit : correction d'une faute d'orthgraphe....
Dernière édition par ygeronimi le Jeu 30 Aoû 2012 - 18:55, édité 1 fois (Raison : faute d'orthographe) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 19:02 | |
| @Cosmos70: texte sur une courbe ? C'est une idée intéressante. Je vais creuser un peu... | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 19:17 | |
| - Klaus a écrit:
(Nom correcteur d'orthographe révèle une anomalie sur Papydall - est-ce normal ?) Ton correcteur d’orthographe a raison : il ne me connaît pas donc il ne peut pas me reconnaitre ! Mon vrai prénom est ABDALLAH (je suis Arabe, quoi ?). Mon premier petit-fils (qui est né et vit en Italie) lors de ses premières paroles m’appelait papy dall. Il est maintenant un jeune adolescent et il m’appelle toujours ainsi. J’ai donc pris comme nom sur ce Forum Papydall. Voilà donc ma petite histoire inodore, incolore, sans saveur ! | |
|
| |
topmozika
Nombre de messages : 79 Age : 63 Localisation : Antananarivo - Madagascar Date d'inscription : 09/06/2012
| |
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Jeu 30 Aoû 2012 - 20:25 | |
|
وعليكم السلام Wa Alai Koum Assalam Topmozika
| |
|
| |
Contenu sponsorisé
| Sujet: Re: Nouvelle fonction WriteTextOverPicture | |
| |
|
| |
| Nouvelle fonction WriteTextOverPicture | |
|