| 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: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 0:48 | |
| Vous avez dit "texte sur une courbe" ? Voilà qui est fait... On peut maintenant, au choix, écrire le texte en ligne droite selon n'importe quel angle, ou le long d'une courbe qui est déterminée par un cercle (ou arc de cercle) o alors une spirale rétrécissante ou grandissante. Pour cela, une nouvelle fonction - Code:
-
res% = dll_call4("ConfigureCurveWToP",xcentre%,ycentre%,delta%,facteur%) permet de choisir les coordonnées du centre du cercle ou de la spirale, l'incrément d'angle à utiliser pour chaque lettre, et le pourcentage de changement du rayon. Le dernier paramètre est bien exprimé en pourcent: 100 signifie "aucun changement", inférieur à 100 signifie réduction (Rnouveau = Ractuel * facteur% / 100) et supérieur à 199 signifie augmentation. Cas spécial: 0 est traité comme 100. Et voici ce que ça donne: Ceci est produit par ce programme de démo: - 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 aCurve% : aCurve% = 32768 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) font$ = "Times New Roman" text$ = "Mon message 12345 azertyuiop" degre% = 30 pos% = pX%*90 + pY%*140
' écrire le texte une première fois en rouge en ligne droite r% = 255 g% = 0 b% = 0 coul% = (b%*256+g%)*256+r% attrib% = aBold% + aUnder% + aItalic% + aSize%*36 + aCurve%*0 + aRotate%*degre% i% = dll_call6("WriteTextOverPicture",hnd%,pos%,adr(text$),adr(font$),attrib%,coul%)
' écrire le texte une première fois en bleu en spirale i% = dll_call4("ConfigureCurveWToP",300,285,10,95) r% = 0 g% = 0 b% = 255 coul% = (b%*256+g%)*256+r% attrib% = aBold% + aUnder% + aItalic% + aSize%*36 + aCurve%*1 + aRotate%*degre% i% = dll_call6("WriteTextOverPicture",hnd%,pos%,adr(text$),adr(font$),attrib%,coul%) end
C'est pas beau, ça ? | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 31 Aoû 2012 - 1:03 | |
| | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 1:11 | |
| Bravo, Klaus qui va être le prochain à te faire relever un défit ? Ygeronimi as-tu utilisé ton chrono pour calculer le temps entre l'expression du besoin et la livraison de la solution ? Tu es un tueur de problème Klaus... Félicitations. Qui se souvient d'un vieux truc insoluble pendant que Klaus est chaud ? | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| |
| |
Invité Invité
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 2:23 | |
| Bravo. J'ai pensé que ce serait intéressant d'avoir cette possibilité, même si pour l'instant j'en ai pas besoin. J'ai dit que j'attendrais que tu sois endormi pour télécharger. Mais je ne sais pas à quelle heure où tu te couches. Donc je pense qu'il faut encore attendre un peu. Tu vas finir par faire peur à Jack! J'y pense à l'instant avec KGF. On peut positionner la souris, cliquer, mais je ne sais pas si on peut savoir où elle est sur l'écran, en dehors des objets (sur la form évidemment), mais tu là surement fait. C'est une parenthèse, hors de ce sujet, mais je me suis aperçu que j'avais besoin de cette fonction.Je vais consulter KGF. Bonne nuit. |
|
| |
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 Ven 31 Aoû 2012 - 5:47 | |
| Klaus, tu es quoi au juste Un génie Un géant Un surhomme Un SUPERHOMME Ou simplement un être au-dessous de nous? J’ai modifié ton code-exemple et même le mot BRAVO n’a plus de sens ! - Code:
-
' WriteTextOverPicture.bas
dim i%, hnd%, degre% dim coul%, font$, text$, attrib%, pos% dim aBold% : aBold% = 1 dim aItalic% : aItalic% = 2 dim aUnder% : aUnder% = 4 dim aSize% : aSize% = 16 dim aCurve% : aCurve% = 32768 dim aRotate% : aRotate% = 65536 dim pX% : pX% = 5 dim pY% : pY% = 65536
dll_on "KGF.dll"
width 0, 900 : height 0,700 picture 1 : full_space 1 : color 1,255,255,0 hnd% = handle_canvas(1) font$ = "Times New Roman" text$ = "BRAVO Klaus docteur es DLL" for degre% = 0 to 360 step 12 pos% = pX%*90 + pY%*300 coul% = 255 attrib% = aBold% + aUnder% + aItalic% + aSize%*36 + aCurve%*0 + aRotate%*degre% i% = dll_call6("WriteTextOverPicture",hnd%,pos%,adr(text$),adr(font$),attrib%,coul%) next degre%
| |
|
| |
Invité Invité
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 8:31 | |
| - Jicehel a écrit:
- Qui se souvient d'un vieux truc insoluble pendant que Klaus est chaud ?
J'ai trouvé! Faire des lettres qui dansent en cercle en sautillant Moi la seul question que je me pose, est de savoir combien d'heures Klaus programme par jour. Moi j'ai modifié 3 objets sur une forme cette nuit, quand je me suis réveillé. J'ai le résultat devant moi, mais je ferme pour faire ma journée (de travail et non de dormir).
Dernière édition par cosmos70 le Ven 31 Aoû 2012 - 9:30, édité 1 fois |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 8:51 | |
| Waouooooooh ! Impressionnant, Papydall ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 9:11 | |
| @Cosmos70: J'ai deux fonctions dans KGF.dll qui retournent la position de la souris:
GetMousePosition retourne la position (x,y) relative à la form active ou (-1,-1) si en-dehors
GetAbsoluteMousePosition retourne la position (x,y) en absolu par rapport à l'écran
Ces deux fonctions se trouvent dans la catégorie de gestion de la souris.
| |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 13:24 | |
| Je ne sais plus quoi te demander Klaus, je crois que tu as répondu à tous les problèmes que nous avions en latence (à part sur la 3D et sur l’exécution de procédure/ fonctions avec variables locales mais là, je pense que c'est plus à Jack de répondre car c'est trop proche du langage et je ne vois pas comment ça pourrait être DLLisé). J'aurais bien des idées de fonctions (genre calculer le nombre de points d'un mouvement aux dames pour savoir quoi jouer en calculant x possibilités de mouvement, mais là, c'est clairement personnelle et en dehors de l'usage de KGF qui regroupe pleins de fonctions pouvant servir à de multiples usages) . | |
|
| |
Invité Invité
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 14:00 | |
| @Klaus, Merci pour l'info, j'ai même pas eu le temps d'aller voir. Et certainement pas aujourd'hui, vu que demain je pars de bonne heure pour mes deux fils qui entrent au Crous (place oblige)
Curiosité: Est-ce qu'avec les autres navigateurs, on peut répondre avec le mode privé de celui-ci? Ce n'est pas le cas avec QtWeb. |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 14:07 | |
| Pas à ma connaissance Cosmos, mais bon, je ne sais pas tout ... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 16:29 | |
| En attendant que Jack ne rajoute les formats d'images demandé par Nardo, je crois que c'est un sujet qui pourrait intéresser Klaus ça: pouvoir ouvrir les format d'image GIF, PSD, ... et les récupérer dans un objet Panoramic (Image, je pense ou Picture) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 18:10 | |
| Oui, ça peut se faire - je sais déjà charger de tels fichiers dans un picture en Delphi. Je vais simplement les charger dans l'image interne de mes fonctions de gestion d'image, et le tour sera joué. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Ven 31 Aoû 2012 - 18:16 | |
| Pour la transparence, on pourra, peut être, jouer avec la couleur de fond du picture... | |
|
| |
Invité Invité
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 18:48 | |
| - Jicehel a écrit:
- Pas à ma connaissance Cosmos, mais bon, je ne sais pas tout ...
Ok merci. |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 22:55 | |
| Il y a une nouvelle fonction dans KGF.dll qui passe du coup à la version V1.42: - Code:
-
res% = dll_call1("LoadAnyImageFile",adr(nom$))
Elle charge des fichiers image dans le presse-papier, d'où on peut les utiliser comme on veut, par CLIPBOARD_COPY par exemple. Pour le moment, les extensions suivantes sont gérées: BMP JPG et JPEG GIF Pour d'autres formats, si le besoin se fait sentir, je peux étudier la question. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 31 Aoû 2012 - 22:58 | |
| | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 23:10 | |
| Même les PNG pour Nardo ? Super | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 23:20 | |
| Je n'ai pas mentionné les PNG... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 23:30 | |
| Bon, comme ça tu peux encore faire une amélioration si ça ne passe pas. Non, je plaisante, c'est toi qui voit, mais comme Nardo en a parlé dans les formats intéressants... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Ven 31 Aoû 2012 - 23:54 | |
| Eh bien, la fonction digère maintenant aussi les PNG ...
Mais attention: les PNG sont codés sur 32 bits en format RGBA avec A représentant 8 bits de canal alpha. Or, Panoramic ne gère de façon interne que des bitmap 24 bits en format RGB. Donc, l'information du canal alpha est perdu - on n'a bien sûr pas de transparence.
Mais cette réserve étant faite, l'image contenue dans le PNG se trouve dans le presse-papier comme les autres...
KGF.dll passe à la version V1.43. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 1 Sep 2012 - 0:08 | |
| bouhouhouhou Je venais juste de télécharger la 1.42... Bon..ben...j' y retourne !.... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Sam 1 Sep 2012 - 0:21 | |
| Tiens bon ygeronimi, je ne pense pas de Klaus arrête de faire des améliorations Bravo Klaus, je pense que même si ce n'est pas parfait, cela peut répondre à la demande de Nardo | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouvelle fonction WriteTextOverPicture Sam 1 Sep 2012 - 14:09 | |
| Merci Klaus ! Oui ça répond tout à fait à ma demande !! Quand au problème de transparence, c'est un autre sujet... je ne crois pas qu'on puisse y faire grand chose... | |
|
| |
Contenu sponsorisé
| Sujet: Re: Nouvelle fonction WriteTextOverPicture | |
| |
|
| |
| Nouvelle fonction WriteTextOverPicture | |
|