FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Allo ! Les spécialistes des DLL Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Allo ! Les spécialistes des DLL Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Allo ! Les spécialistes des DLL Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Allo ! Les spécialistes des DLL Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Allo ! Les spécialistes des DLL Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Allo ! Les spécialistes des DLL Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Allo ! Les spécialistes des DLL Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Allo ! Les spécialistes des DLL Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Allo ! Les spécialistes des DLL Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Allo ! Les spécialistes des DLL Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Allo ! Les spécialistes des DLL Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Allo ! Les spécialistes des DLL Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Allo ! Les spécialistes des DLL Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Allo ! Les spécialistes des DLL Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Allo ! Les spécialistes des DLL Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

 

 Allo ! Les spécialistes des DLL

Aller en bas 
5 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyJeu 5 Jan 2023 - 11:49

Bonjour tout le monde.
Ma demande est surtout destinée aux spécialistes des DLL : Jack, Jean_Debort et essentiellement Klaus.
Toute autre personne peut contribuer à la discussion.
Comme le titre de ma demande n’est pas suffisamment explicite, je m’explique.

J’ai créé une dll que j’ai appelée (provisoirement) MaDLL.dll.
Cette DLL exporte une fonction Dessine() qui implémente la commande DRAW() de Freebasic.
Pour rappel :
La commande DRAW est en elle-même un mini langage de dessin, extrêmement rapide.
Voici le code source de MaDLL
Code:

' compiler comme ceci :
' en ligne de commande : fbc32.exe MaDLL.bas -dll

extern "Windows-MS"

Function Dessine(byref d as string) as integer export
    Screenres 680,480,32
    Color Rgb(0,0,0),Rgb(255,255,255) : Cls
    Draw d
    sleep
    return 0
End Function
' ------------------------------------------------------------------------------

end extern

Voici ce que cette DLL est capable de faire

Allo ! Les spécialistes des DLL Sans_t33

Le dessin est beau, et rapide, mais …
Vous avez sans doute remarqué que j’ai utilisé l’écran de freebasic pour afficher le dessin, ce qui n’est point satisfaisant.
Ma première question :
Comment pouvoir transmettre à  MaDLL.dll la cible sur laquelle dessiner, par exemple le handle_canvas d’un picture en panoramic ?

Vous avez aussi remarqué que, dans le source de MaDLL, j’ai utilisisé une pause par la commande SLEEP (sinon, l’image disparaitrait sitôt dessinée)
Or cette pause (par sleep) ne rend pas la main au programme principal en panoramic, car elle attend l’appui sur une touche.
On se trouve devant l’erreur "ne répond pas"
Voici comment j’ai contourné cette erreur :
Je clique sur l’image pour donner le focus à la fenêtre du dessin.
Je tape sur une touche quelconque pour sortir de la pause (sleep).
Je clique dans FORM 0 pour lui donner le focus et permettre à panoramic de poursuivre son traitement.

Ma deuxième question :
Comment éviter toute cette gymnastique ?

Vous trouvez sur mon webdav Test_DLL.zip qui contient :
MaDLL.bas
MaDLL.dll
Test.bas
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


Nombre de messages : 2395
Date d'inscription : 28/05/2007

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyJeu 5 Jan 2023 - 13:21

C'est téléchargé.
Je regarde comment faire ça. Mais au préalable, il faut que je me replonge dans FreeBasic et dans sa commande DRAW que je ne connais pas.
A bientôt ...

_________________
Allo ! Les spécialistes des DLL Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyJeu 5 Jan 2023 - 20:43

Merci Jack pour ta réponse.
Prends ton temps, rien ne presse.


Voici un extrait de "FreeBASIC Manual"


Draw

Statement for sequenced pixel plotting

Syntax

Draw [target,] cmd

Parameters

target
the buffer to draw on
cmd
a string containing the sequence of commands

Description

Drawing will take place onto the current work page set via ScreenSet or onto the target Get/Put buffer if specified.
The Draw statement can be used to issue several drawing commands all at once; it is useful to quickly draw figures. The command string accepts the following commands:

Commands to plot pixels:
Command Description
Commands to plot pixels:
B Optional prefix: move but do not draw.
N Optional prefix: draw but do not move.
M x,y Move to specified screen location. if a '+' or '-' sign precedes x, movement is relative to current cursor position. x's sign has no effect on the sign of y.
U [n] Move n units up. If n is omitted, 1 is assumed.
D [n] Move n units down. If n is omitted, 1 is assumed.
L [n] Move n units left. If n is omitted, 1 is assumed.
R [n] Move n units right. If n is omitted, 1 is assumed.
E [n] Move n units up and right. If n is omitted, 1 is assumed.
F [n] Move n units down and right. If n is omitted, 1 is assumed.
G [n] Move n units down and left. If n is omitted, 1 is assumed.
H [n] Move n units up and left. If n is omitted, 1 is assumed.
Commands to color:
C n Changes current foreground color to n.
P p,b PAINTs (flood fills) region of border color b with color p.
Commands to scale and rotate:
S n Sets the current unit length, default is 4. A unit length of 4 is equal to 1 pixel.
A n Rotate n*90 degrees (n ranges 0-3).
TA n Rotate n degrees (n ranges 0-359).
Extra commands:
X p Executes commands at p, where p is a STRING PTR.



Example :

Code:

Screen 13
'Move to (50,50) without drawing
Draw "BM 50,50"
'Set drawing color to 2 (green)
Draw "C2"
'Draw a box
Draw "R50 D30 L50 U30"
'Move inside the box
Draw "BM +1,1"
'Flood fill with color 1 (blue) up to border color 2
Draw "P 1,2"
Sleep
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


Nombre de messages : 2395
Date d'inscription : 28/05/2007

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyJeu 5 Jan 2023 - 21:19

Merci pour les informations.
Je vois que la commande DRAW peut dessiner dans une surface graphique (buffer) si on lui passe en premier paramètre l'adresse (target) de cette surface.
C'est une première piste.

J'arrive à compiler et exécuter ton exemple: il s'affiche un rectangle bleu entouré d'un trait vert:

Allo ! Les spécialistes des DLL Draw10

Mais je n'arrive pas à reproduire ton exemple du webdav Test_DLL.zip.
Avec ta DLL (MaDLL.dll), l'exécution de Test_5_MaDLL.bas me donne une surface blanche...

Pareil si je compile ta DLL (fbc madll.bas -dll).
Je pense que nous n'utilisons pas la même version de panoramic, car la fonction ADR a beaucoup été modifiée sur les dernières versions.

_________________
Allo ! Les spécialistes des DLL Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyJeu 5 Jan 2023 - 21:56

J'utilise la dernière version de panoramic, la 0.9.29i11.
Je ne pense pas que le problème se situe au niveau de la fonction ADR

Note importante :
Pour être prise en compte par Panoramic, une DLL doit être complilée en 32 bits et non en 64.

Tu as propablement  compilé en 64

En ligne de commande, taper :

fbc32.exe MaDLL.bas -dll

et non
fbc madll.bas -dll

Voici un autre exemple de l'utilisation de MaDLL.dll

Code:

rem ============================================================================
rem                             Test MaDLL
rem ============================================================================
' D'après Quark
' https://www.freebasic.net/forum/viewtopic.php?f=8&t=22859&hilit=snow&start=165
rem ============================================================================

dim ds$,ts$,ret%
dim x,y,resultat
dll_on "MaDLL"

read ts$
while ts$ <> "enddata"
      ds$ = ds$ + ts$
      read ts$
end_while
ret% = dll_call1("Dessine",adr(ds$))
dll_off


end
rem ============================================================================
Data " C4278190080BM0,0M639,0M639,479M0,479M0,0BM1,1M638,1M638,478M1,478M1,1BM2,2M637,2M637,477M2,477M2,2BM3,3M636,3M636,476M3,476M"
Data "3,3BM1,226M338,225M353,207M358,206M355,190M389,188M386,203M388,208M391,212M397,199M400,196M441,179M435,182M428,168M420,170M41"
Data "8,164M424,148M427,122M437,112M447,112M459,105M470,105M478,103M493,103M500,104M507,108M518,122M522,134M523,150M519,158M509,168"
Data "M505,169M506,161M500,166M498,164M493,166M492,161M487,165M485,167M479,163M476,169M471,165M468,167M463,164M461,164M457,163M448,"
Data "150M450,141M446,129M441,126M439,136M439,144M434,144M437,131M435,123M432,121BM417,161M406,161M396,158M387,155M373,145M369,136M"
Data "368,123M374,104M389,93M407,87M427,77M452,69M470,69M498,68M524,70M536,76M554,87M565,99M566,124M562,134M545,152M534,160M520,165"
Data "M512,165BM420,80M419,76M423,68M431,63M439,63M445,57M448,57M458,53M461,49M467,49M479,54M485,52M486,51M501,54M509,53M513,56M515"
Data ",68BM506,168M504,176M500,177M481,179M467,179M458,177M449,173M440,173M438,181M435,183M442,182M446,184M461,191M465,196M478,197M"
Data "495,197M508,190M512,184M512,173M539,179M551,181M554,182M565,189M569,197M573,242M575,257M578,279M579,289M579,300M577,315M573,3"
Data "43M570,356M566,370M567,378M569,385M575,397M580,402M584,415M584,434M584,449M584,463M582,476BM572,223BM571,224M637,224BM339,226"
Data "M339,228M335,233M334,239M332,245M331,248M334,250M332,254M328,264M324,276M322,292M323,305M328,317M332,323M334,325M339,330M343,"
Data "338M364,337M387,317M408,286M417,277M429,259M427,284M426,296M421,305M413,310M409,309M407,301M405,294M405,290BM426,268M431,249M"
Data "436,229M431,215M420,203M409,195M400,199M393,209BM398,204M380,237M370,251M365,261M356,273M350,286M347,291M341,295BM331,251M337"
Data ",249M352,250M361,256M365,258M374,244M370,236M360,232M351,232M342,232M336,237M332,240BM357,220M374,218M381,209M383,209M386,206"
Data "M392,214M386,223M385,219BM361,219M355,189M360,187M371,185M380,186M388,187BM379,475M393,449M398,436M398,430M402,411M397,404M39"
Data "6,396M396,381M393,360M398,354M400,363M410,372M432,370M455,367M483,360M502,357M519,353M535,350M549,345M547,337M557,282M562,252"
Data "M566,234M569,216M569,203BM399,357M401,346M399,332M397,314M397,302M400,345M403,350M415,357M439,355M484,349M489,350M497,345M500"
Data ",325M497,343M505,344M519,343M531,341M543,337M548,326BM548,332M565,372M557,382M522,393M497,400M483,403M452,407M430,409M410,407"
Data "M397,399M396,396BM522,449M522,458M520,467M512,472M507,476BM393,362M396,366M401,372M404,375M424,376M456,375M486,368M516,362M54"
Data "5,356M553,350M551,338BM1,271M325,271BM1,295M322,295BM577,274M636,274BM579,299BM579,295M636,295BM69,226M68,205M71,187M65,192M5"
Data "8,186M53,176M54,156M53,155M55,97M68,90M75,86M90,83M91,63M99,53M111,51M126,54M130,59M131,84M130,83M137,82M146,86M149,90M160,89"
Data "M170,94M172,101M171,163M160,169M150,164M136,202M132,202M130,192M139,170M129,192M128,197M124,197M118,203M114,199M114,191M124,1"
Data "53M113,190M109,196M105,193M107,188M113,170M115,153M118,142M122,131M132,130M145,139M155,144M157,141BM144,138M148,164M154,164BM"
Data "150,163M151,175M157,183M160,223M159,225BM77,103M76,155M52,156BM64,167M82,158M84,148M93,148M95,148M91,155M99,155M103,151M109,1"
Data "55M109,163M107,166M88,167M82,159BM88,166M69,184M59,188BM93,152M109,138M114,138M118,138BM109,142M114,142M116,143BM111,143M111,"
Data "138BM357,203M385,203BM89,82M92,88M96,99M104,105M111,105M116,105M127,98M130,89M131,82BM99,87M107,90BM115,89M121,88BM107,96M107"
Data ",99M110,101M113,100M114,96BM11,153M27,141M53,142M53,156M11,154M10,168M52,169BM26,142M12,142M11,2M28,2M26,141BM171,154M383,153"
Data "BM163,168M417,167BM577,275M637,275BM542,155M630,154M630,166M509,167BM397,388M400,391M405,393M412,393M417,397M426,395M433,397M"
Data "442,395M451,399M459,396M467,396M474,390M484,392M489,387M494,387M499,383M510,382M518,378M524,377M530,373M537,374M542,372M550,3"
Data "72M553,368M558,369M560,366M553,356BM401,374M400,392BM411,374M411,394BM425,377M425,395BM442,375M443,396BM457,375M459,396BM471,"
Data "371M473,392BM484,369M487,386M488,387BM497,368M500,382BM512,364M517,380BM526,361M530,373BM538,357M543,373BM547,356M554,368BM55"
Data "3,357M552,353BM91,67M93,75M98,79M105,82M115,83M123,79M128,75M130,70BM123,53M129,49M134,45M144,45M154,44M181,44M190,44M201,43M"
Data "211,51M220,58M224,63M225,74M226,107M223,123M216,131M212,132M205,128M205,142M253,144M255,146M259,149BM258,148M286,149M291,145M"
Data "291,144M307,143M312,148M340,150M344,143M371,143BM554,143M569,144M575,147M604,148M608,143M620,143M631,153M628,154BM204,61M205,"
Data "65M205,128BM171,142M204,141BM146,44M146,30M148,24M151,19M155,14M159,13M162,12M168,11M175,14M180,18M185,26M185,39M185,42BM20,3"
Data "29M110,327M110,432M21,435M20,329BM150,328M241,327M241,433M151,432M150,329BM369,333M370,433M279,432M279,325M337,328BM22,477M20"
Data ",454M111,455M111,476BM153,476BM152,477M152,456M239,456M239,477BM280,475M279,456M370,455M370,475BM629,475M629,454M583,454BM575"
Data ",324M630,324M630,430M583,430BM253,144M254,106M256,99M261,96M280,95M284,95M289,98M292,143BM260,105M286,104M286,134M260,135M259"
Data ",105M258,103BM266,94M266,68M266,66M266,62M280,62M283,64M283,66M280,71M281,93M280,95BM428,168M426,160M424,154M424,148M425,149B"
Data "M343,98M333,95M333,71M337,67M328,65M326,64M319,64M317,67M319,70M332,70M320,70M320,95M314,96M310,99M307,106M307,143BM313,103M3"
Data "38,104M338,131M314,133M312,103BM343,142M341,99M337,95M333,95BM385,95M384,71M399,69M399,89M398,69M402,69M402,66M397,64M387,64M"
Data "383,65M383,67M384,72BM613,143M613,4BM613,143M630,143M630,3BM570,102M574,98M578,96M599,96M602,96M605,100M606,100M607,143BM582,"
Data "95M582,71M596,71M596,96BM576,110M602,110M602,138M577,138M576,113BM570,143M570,108M571,103M578,101M582,99BM597,67M594,62M583,6"
Data "2M581,64M578,65M578,69M583,70BM595,69M598,67M597,64M594,62BM596,69M598,66M596,62M588,62M579,64M579,65M579,67M581,69BM583,63M5"
Data "80,63M579,65M578,65M580,68M581,68M579,65M580,63M584,64BM596,70M599,68M599,64M596,62BM422,154M428,122BM433,180M425,165M424,160"
Data "M424,152BM35,348M93,348M93,419M33,419M33,349M37,348BM168,349M223,349M223,413M164,413M164,350M171,350BM295,349M351,349M351,416"
Data "BM350,415M294,415M294,349BM572,349M613,349M613,415M582,415BM28,35M145,35BM185,35M612,35BM449,432M462,432M470,429M481,426M492,"
Data "426M495,453M482,465M466,470M450,465M440,429M448,433BM543,417M559,411M569,402M572,400M580,426M572,441M561,447M543,446M534,417M"
Data "544,416BM430,423M464,424M481,418M495,413M501,458M486,473M463,479M438,468M427,420BM524,409M538,457M559,463M571,457M582,438M584"
Data ",425M574,395BM224,122M254,122BM27,122M53,122BM297,122M306,122BM350,122M367,122BM566,122M569,122BM606,122BM607,123M612,119M610"
Data ",85M611,76M606,71M602,70M603,47M606,44M605,42M593,42M587,43M587,45M589,49M603,47M590,50M590,62BM260,95M262,84M265,80BM287,75M"
Data "293,76M297,80M297,123M291,127BM280,74M286,75M287,50M290,46M288,43M275,43M272,47M274,48M287,48M274,49M274,62BM315,81M317,77BM3"
Data "15,95M315,82M317,76M319,75M320,74BM343,129M351,126M349,80M344,75M339,73M339,49M343,44M341,42M328,43M324,44M325,48M326,49M339,"
Data "48M327,51M327,62M326,47M339,51BM326,47M339,48M329,50M334,47BM381,98M379,77M382,76BM392,62M392,48M403,49M405,73M410,74M414,74M"
Data "417,76M419,77BM392,48M387,45M391,42M404,42M407,46M402,49BM379,82M378,98M376,99M378,97M378,84BM375,101M382,97M378,98M379,90M37"
Data "9,96BM437,60M437,48M449,48M450,55M448,55M448,48M452,45M449,43M436,43M435,46M436,48BM511,55M511,49M523,49M523,70BM522,48M526,4"
Data "6M521,43M513,43M509,46M511,49BM412,448P4281165000,4278190080BM409,458P4286770175,4278190080BM523,411M544,407M559,402M570,392M"
Data "573,391BM427,423M431,423BM403,444P4278860920,4278190080BM438,436P4278860920,4278190080BM435,428P4281165000,4278190080BM533,42"
Data "4P4281165000,4278190080BM463,449P4278860920,4278190080BM556,423P4278860920,4278190080BM77,16P4279514935,4278190080BM51,69P428"
Data "2681223,4278190080BM239,57P4282681223,4278190080BM416,77M417,82BM327,63M437,62M437,60BM41,57P4285783260,4278190080BM238,70M23"
Data "8,70BM239,71P4285783260,4278190080BM361,86P4285783260,4278190080BM581,71M574,77M574,98BM340,89P4294967295,4278190080BM331,55P"
Data "4294967295,4278190080BM399,57P4294967295,4278190080BM403,78P4294967295,4278190080BM382,76M385,74BM440,54P4294967295,427819008"
Data "0BM360,77P4284138435,4278190080BM416,70P4284138435,4278190080BM365,84P4284138435,4278190080BM249,54P4284138435,4278190080BM57"
Data ",53P4284138435,4278190080BM404,73M402,54BM367,84P4284138435,4278190080BM151,44M147,26BM179,43M183,26BM185,43M185,42BM110,68P4"
Data "279834905,4278190080BM112,61P4281808695,4278190080BM157,28P4281808695,4278190080BM327,62M303,62M319,32BM483,52M498,36BM367,53"
Data "P4280834650,4278190080BM18,37P4284558593,4278190080BM621,68P4284558593,4278190080BM10,142M10,72M11,143M11,69BM28,162P42845585"
Data "93,4278190080BM419,167M416,167BM209,161P4284558593,4278190080BM419,160M411,161BM402,123P4288236805,4278190080BM469,57P4294736"
Data "132,4278190080BM33,150P4290314168,4278190080BM195,148P4290314168,4278190080BM559,148P4290314168,4278190080BM237,129P429169044"
Data "5,4278190080BM34,133P4291690445,4278190080BM297,134P4291690445,4278190080BM354,134P4291690445,4278190080BM567,135P4291690445,"
Data "4278190080BM31,146P4287755665,4278190080BM190,148P4287755665,4278190080BM564,148P4287755665,4278190080BM20,208P4288430492,427"
Data "8190080BM250,197P4288430492,4278190080BM583,189P4288430492,4278190080BM14,207P4284425055,4278190080BM218,200P4284425055,42781"
Data "90080BM593,203P4284425055,4278190080BM123,288P4284558593,4278190080BM594,283P4284558593,4278190080BM55,244P4294361996,4278190"
Data "080BM590,252P4294361996,4278190080BM8,315P4289341480,4278190080BM594,314P4289341480,4278190080BM171,139M153,140BM151,144M151,"
Data "107BM167,139M169,141BM87,122P4288716960,4278190080BM74,163M74,154BM59,177P4294967295,4278190080BM71,164M60,163BM96,173P429496"
Data "7295,4278190080BM69,187BM58,185M70,187M85,167BM65,189P4294967295,4278190080BM64,189P4294967295,4278190080BM64,188P4294967295,"
Data "4278190080BM64,188P4294967295,4278190080BM63,188P4294967295,4278190080BM64,189P4294967295,4278190080BM66,189P4294967295,42781"
Data "90080BM66,189P4294967295,4278190080BM65,189P4284425055,4278190080BM121,97P4294361996,4278190080BM72,172P4294361996,4278190080"
Data "BM93,159P4294361996,4278190080BM164,152P4294361996,4278190080BM438,158BM435,164P4294361996,4278190080BM431,122M430,121BM477,1"
Data "30P4284558593,4278190080BM421,162P4284558593,4278190080BM421,158P4294361996,4278190080BM157,59P4291348680,4278190080BM31,337P"
Data "4289341480,4278190080BM27,406P4286384136,4278190080BM160,344P4286384136,4278190080BM285,335P4286384136,4278190080BM76,468P428"
Data "6384136,4278190080BM186,468M185,468BM192,468P4286384136,4278190080BM321,464P4286384136,4278190080BM606,463P4286384136,4278190"
Data "080BM616,425P4286384136,4278190080BM57,393P4281046586,4278190080BM70,397P4279525140,4278190080BM208,385P4279525140,4278190080"
Data "BM306,387P4279525140,4278190080BM595,369P4279525140,4278190080BM375,226P4294361996,4278190080BM367,210P4294736132,4278190080B"
Data "M495,247P4290541123,4278190080BM372,295P4294935170,4278190080BM354,244P4294935170,4278190080BM415,295P4294935170,4278190080BM"
Data "570,312P4294935170,4278190080BM441,362P4286611584,4278190080BM490,394P4286611584,4278190080BM512,177M512,172M510,170M508,170B"
Data "M483,189P4281046586,4278190080BM552,354M554,351BM552,361P4281046586,4278190080BM554,362P4281046586,4278190080BM552,359P428104"
Data "6586,4278190080BM553,364P4294967295,4278190080BM557,364BM559,365M562,364BM557,357P4294967295,4278190080BM404,382P4288236805,4"
Data "278190080BM416,387P4288236805,4278190080BM435,386P4288236805,4278190080BM452,386P4288236805,4278190080BM466,383P4288236805,42"
Data "78190080BM481,383P4288236805,4278190080BM493,381P4288236805,4278190080BM522,369P4288236805,4278190080BM535,368P4288236805,427"
Data "8190080BM546,366P4288236805,4278190080BM553,361P4288236805,4278190080BM555,355P4288236805,4278190080BM398,375P4288236805,4278"
Data "190080BM395,395M418,403M465,402M503,393M536,380M551,377M559,373M563,367BM486,366P4288236805,4278190080BM495,389P4288236805,42"
Data "78190080BM398,356M412,365M454,361M521,349M541,343M549,341BM444,358P4294935170,4278190080BM366,196P4291690495,4278190080BM109,"
Data "155M117,149M109,143M115,150M83,171BM84,170M111,170M111,178M78,179M77,179BM146,178M154,180BM90,178P4281808695,4278190080BM83,1"
Data "78P4281808695,4278190080BM93,176P4281808695,4278190080BM149,177P4281808695,4278190080BM254,116M258,116BM285,116M289,116BM280,"
Data "145P4294736132,4278190080BM84,250P4294967192,4278190080BM70,235P4294967192,4278190080BM592,254P4294967192,4278190080BM96,248P"
Data "4293322255,4278190080BM607,247P4293322255,4278190080BM72,254P4287729940,4278190080BM613,240P4287729940,4278190080BM580,405P42"
Data "78860920,4278190080BM579,405P4278860920,4278190080BM308,129M313,129BM340,129BM338,129M341,129BM317,137P4289341480,4278190080B"
Data "M277,114P4281165000,4278190080BM325,115P4284111374,4278190080BM324,122P4279386386,4278190080BM316,122P4281046586,4278190080BM"
Data "569,117M578,117BM602,117M605,117BM573,132P4294466296,4278190080BM584,122P4289341480,4278190080BM576,112M576,115BM578,85P42893"
Data "41480,4278190080BM580,102P4289341480,4278190080BM589,102P4289341480,4278190080BM587,107P4294967295,4278190080BM576,112M577,11"
Data "0BM578,80P4294967295,4278190080BM288,89P4291690495,4278190080BM278,52P4291690495,4278190080BM261,88P4291690495,4278190080BM34"
Data "0,82P4291690495,4278190080BM333,57P4291690495,4278190080BM318,84P4291690495,4278190080BM382,82P4291690495,4278190080BM404,84P"
Data "4291690495,4278190080BM394,51P4291690495,4278190080BM444,53P4291690495,4278190080BM517,56P4291690495,4278190080BM596,54P42916"
Data "90495,4278190080BM579,85P4291690495,4278190080BM274,76P4289393651,4278190080BM272,101P4289393651,4278190080BM323,83P428939365"
Data "1,4278190080BM392,81P4289393651,4278190080BM589,103P4289393651,4278190080BM587,85P4289393651,4278190080BM587,65P4289393651,42"
Data "78190080BM389,69P4289393651,4278190080BM322,66P4289393651,4278190080BM265,69M280,69BM340,83P4291690495,4278190080BM316,85P429"
Data "1690495,4278190080BM283,84P4291690495,4278190080BM278,57P4291690495,4278190080BM279,46P4291690495,4278190080BM263,87P42916904"
Data "95,4278190080BM601,89P4291690495,4278190080BM591,45P4291690495,4278190080BM576,84P4291690495,4278190080BM581,164P4284558593,4"
Data "278190080BM583,422M582,412BM583,418M583,414BM577,401M576,397BM444,154M441,154M440,152BM449,149M445,154BM444,147M445,142M442,1"
Data "36BM172,122M228,122BM36,129P4279189019,4278190080BM189,129P4279189019,4278190080BM211,125P4279189019,4278190080BM220,131P4279"
Data "189019,4278190080BM300,134P4279189019,4278190080BM357,135P4279189019,4278190080BM563,139P4279189019,4278190080BM610,131P42791"
Data "89019,4278190080BM31,152P4280187957,4278190080BM190,147P4280187957,4278190080BM562,149P4280187957,4278190080BM18,102P42863242"
Data "54,4278190080BM26,166P4286324254,4278190080BM208,163P4286324254,4278190080BM546,163P4286324254,4278190080BM624,117P4286324254"
Data ",4278190080BM77,284P4286324254,4278190080BM598,287P4286324254,4278190080BM175,75P4289374890,4278190080BM181,41P4294361996,427"
Data "8190080BM148,39P4290421082,4278190080BM181,41P4290421082,4278190080BM436,443P4282141820,4278190080BM531,418P4282141820,427819"
Data "0080BM479,186P4294473848,4278190080BM395,267P4284136050,4278190080BM360,243P4284136050,4278190080BM415,294P4284136050,4278190"
Data "080BM423,359P4284136050,4278190080BM560,317P4284136050,4278190080BM98,343P4280187957,4278190080BM156,404P4280187957,427819008"
Data "0BM308,428P4280187957,4278190080BM623,374P4280187957,4278190080BM602,461P4280187957,4278190080BM304,466P4280187957,4278190080"
Data "BM186,469P4280187957,4278190080BM89,467P4280187957,4278190080BM75,395P4290391341,4278190080BM68,380P4286331964,4278190080BM68"
Data ",392P4290379776,4278190080BM63,377P4286324254,4278190080BM56,390P4290402906,4278190080BM60,400P4290391341,4278190080BM193,386"
Data "P4290391341,4278190080BM324,393P4290391341,4278190080BM586,378P4290391341,4278190080BM130,357P4290402906,4278190080BM127,317P"
Data "4290379776,4278190080BM477,260P4290421082,4278190080BM461,61P4290418221,4278190080BM410,100P4286346074,4278190080BM26,198P428"
Data "6324324,4278190080BM226,202P4286324324,4278190080BM601,195P4286324324,4278190080BM53,16P4279189054,4278190080BM603,311P429037"
Data "9776,4278190080"
Data "enddata"
rem ============================================================================

Le résultat :

Allo ! Les spécialistes des DLL Sans_t34
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyJeu 5 Jan 2023 - 22:18

A toute fin utile, j'ai déposé sur mon webdav fbc32.zip
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyVen 6 Jan 2023 - 8:34

Bonjour Papydall,

Quelques précisions sur FreeBASIC :

1) Pour passer en mode graphique sans afficher de fenêtre :

Code:

screenres 640, 400, 32, 2, -1

Ici image 640x400, 32 bits (RGBA), 2 plans

2) Pour créer l'image en mémoire :

Code:

var img = imagecreate(640, 400)

img est un pointeur de type "any ptr" ( récupérable par Panoramic ? )

3) Pour enregistrer l'image dans un fichier BMP :

Code:

bsave "image.bmp", img

PS. Où as-tu trouvé les coordonnées de tes images ? (EDIT : je viens de voir le lien sur le forum FreeBASIC dans le deuxième exemple)
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyVen 6 Jan 2023 - 10:35

Syntaxe de la commande DRAW de FreeBASIC (rebaptisée TRACE dans FBCroco) :

Code:

L'INSTRUCTION TRACE : UN MINI-LANGAGE GRAPHIQUE

Cette instruction constitue à elle seule un mini-langage de type LOGO. Elle prend pour paramètre une chaîne de caractères composée de commandes graphiques choisies parmi les suivantes :

Préfixes optionnels :

B : déplacer sans tracer
N : tracer sans déplacer

Déplacement quelconque :

M x,y : Déplacer vers le point (x,y). Si la valeur de x est précédée du signe + ou -, le mouvement se fait depuis la position courante
Déplacement rectiligne de n unités dans une direction prédéfinie (n optionnel, défaut = 1)

U n : vers le haut (up)
D n : vers le bas (down)
L n : vers la gauche (left)
R n : vers la droite (right)

Déplacement oblique à 45° de n unités :

E n : en haut à droite
F n : en bas à droite
G n : en bas à gauche
H n : en haut à gauche

Le schéma suivant résume ces commandes :

Allo ! Les spécialistes des DLL Trace10

Code:

Couleur :

C n : Change la couleur d'avant-plan
P p,b : Remplit avec la couleur p la région délimitée par la couleur b
Mise à l'échelle et rotation :

S n : Définit l'unité de longueur (défaut n = 4 ; 1 pixel = 4 unités)
A n : Rotation de n fois 90 degrés (n : 0..3)
TA n : Rotation de n degrés (n : 0..359)

Les constantes numériques, notamment les couleurs, doivent être exprimées sous forme décimale uniquement (pas d'hexadécimal !) ; les variables numériques doivent être intégrées dans la chaîne de caractères à l'aide de la fonction STR ou de l'opérateur &
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyVen 6 Jan 2023 - 16:37

Bonjour Papydall !

Je sors un peu du sujet, mais y a t'il une possibilité de réaliser ces images en pur Panoramic même si cela est un peu long ?
J'aimerai bien voir comment elles se construisent et quel logiciel est utilisé pour les créer à la base (certainement à partir de photos) ?

Ca me rappelle les jeux d'aventure bien des années en arrière comme le mystère de Kikekankoi et quelques autres...
Ah nostalgie quand tu nous tiens !!!!
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jack
Admin
Jack


Nombre de messages : 2395
Date d'inscription : 28/05/2007

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyVen 6 Jan 2023 - 18:16

Minibug a écrit:
y a t'il une possibilité de réaliser ces images en pur Panoramic même si cela est un peu long ?
Il y a tout ce qu'il faut en Panoramic pour exploiter un string et construire un dessin (2D_LINE, 2D_POLY_FROM, 2D_POLY_TO, etc)

Minibug a écrit:
quel logiciel est utilisé pour les créer à la base (certainement à partir de photos) ?
C'est avec un logiciel de vectorisation qui transforme une photo (bitmap) en lignes et arcs de cercle et taches de couleurs (vecteurs).

_________________
Allo ! Les spécialistes des DLL Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyVen 6 Jan 2023 - 22:08

Merci Jack et avec les infos de jean_debord on a tout ce qu'il faut effectivement !

Et comme on dit, il n'y a plus qu'a.... Laughing Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptySam 7 Jan 2023 - 1:16

Merci jean_debord pour les précisions.
Merci Minibug pour tes interventions.
Merci Jack pour tout ce que tu nous offre gracieusement et gratuitement.

Minibug a écrit:
Je sors un peu du sujet, mais y a t'il une possibilité de réaliser ces images en pur Panoramic même si cela est un peu long ?


Jack a écrit:
Il y a tout ce qu'il faut en Panoramic pour exploiter un string et construire un dessin (2D_LINE, 2D_POLY_FROM, 2D_POLY_TO, etc)

Voici un code en pur Panoramic pour dessiner un bel oiseau.

Code:

rem ============================================================================
rem                   Dessiner un oiseau
rem        Adaptation par Papydall d’un code en FreeBasic
rem ============================================================================
rem REF : https://www.freebasic.net/forum/viewtopic.php?t=22859&hilit=snow
rem Auteur : BasicCoder2
rem ============================================================================
rem Le programme origine (en freebasic) utilise pour la couleur la réprésention
rem RGBA non reconnu par Panoramic.
rem J’ai codé deux procédures :
rem couleur(rgb) qui calcule les composantes R,G,B d’une valeur RGB
rem couleura(rgba) qui calcule les composantes R,G,B d’une valeur RGBA
rem ==========================================================================
dim pCount      : ' nombre de polygones
dim jj          : ' nombre de côtés
dim fx,fy       : ' coordonnées du point de départ du flood
dim sx,sy       : ' coordonnées du point de départ du tracé
dim x1,y1,x2,y2 : ' coordonnées du tracé du segment
dim c1,c2       : ' Couleurs RGBA du contour et du remplissage
dim i,j         : ' compteurs
dim r,g,b       : ' composantes couleur
rem ============================================================================
picture 10 : full_space 10 : 2d_target_is 10
read pCount   : ' nombre de polygones
for i  = 0 to pCount-1
    read jj : ' nombre de côtés
    read fx : read fy : ' coordonnées du point de départ du flood
    read c1 : read c2 : ' couleur du tracé et du remplissage
    read sx : read sy : ' coordonnées du point de départ du tracé
    x1 = sx : y1 = sy
    for j = 0 to jj-2
        read x2 : read y2 : ' coordonnées de la fin du segment
        couleura(c1) : ' déterminer les composantes r,g,b d'une couleur RGBA
        2d_pen_color r,g,b : 2d_line x1,y1, x2,y2  : ' tracer la ligne
        x1 = x2 : y1 = y2
  '      pause 1 : ' pour suivre le tracé. Vous pouvez la mettre en REM
    next j
    couleura(c1) : 2d_pen_color r,g,b : 2d_line x1,y1,sx,sy
    couleura(c2) : 2d_flood fx,fy+2,r,g,b
next i
end
rem ============================================================================
' Procédure calculant les composantes r,g,b d'une valeur RGB
SUB couleur(rgb)
    r = int(rgb/65536)  
    g = int(mod(rgb,65536)/256)
    b = int(mod(rgb,256))    
END_SUB
rem ============================================================================
' Procédure calculant les composantes r,g,b d'une valeur RGBA
SUB couleura(rgba)
    Couleur(mod(rgba,65536*256))
END_SUB
rem ============================================================================
DATA  22  : ' numbre de polygones
DATA  20  : ' nombre de côtés
DATA  265, 52,4278190080,4285341221  : ' point de départ et couleur RGBA
DATA  254, 53, 268, 51, 280, 52, 292, 56, 300, 60, 302, 65, 302, 70, 301, 73, 301, 78, 299, 84, 300, 93, 294, 98, 287, 104, 276, 105, 266, 99, 258, 91, 254, 81, 256, 72, 256, 63, 254, 53
DATA  18  : ' nombre de côtés
DATA  254, 84,4278190080,4279964183
DATA  300, 92, 310, 91, 306, 98, 304, 108, 304, 116, 303, 120, 291, 118, 281, 115, 271, 111, 261, 107, 257, 102, 251, 95, 254, 81, 263, 97, 274, 103, 284, 103, 293, 99, 300, 92
DATA  10  : ' nombre de côtés
DATA  301, 61,4278190080,4293042610
DATA  300, 60, 313, 63, 325, 70, 331, 74, 318, 76, 313, 74, 308, 73, 304, 68, 302, 64, 300, 60
DATA  14  : ' nombre de côtés
DATA  303, 68,4278190080,4284359714
DATA  330, 73, 340, 79, 334, 81, 324, 80, 314, 80, 307, 80, 301, 79, 301, 75, 302, 69, 302, 66, 309, 72, 315, 74, 322, 74, 330, 73
DATA  9  : ' nombre de côtés
DATA  302, 80,4278190080,4284757821
DATA  301, 79, 299, 85, 303, 90, 311, 91, 323, 87, 338, 79, 326, 79, 314, 79, 301, 79
DATA  8  : ' nombre de côtés
DATA  279, 64,4278190080,4278453258
DATA  268, 69, 280, 63, 285, 64, 290, 69, 286, 74, 277, 76, 271, 72, 268, 69
DATA  15  : ' nombre de côtés
DATA  252, 55,4278190080,4289639121
DATA  254, 53, 236, 65, 238, 80, 233, 96, 232, 112, 254, 111, 270, 119, 284, 123, 303, 121, 280, 113, 262, 107, 249, 94, 255, 70, 255, 60, 254, 53
DATA  7  : ' nombre de côtés
DATA  234, 68,4278190080,4284509241
DATA  235, 66, 190, 118, 217, 115, 232, 112, 234, 94, 239, 77, 235, 66
DATA  13  : ' nombre de côtés
DATA  216, 115,4278190080,4281344028
DATA  190, 118, 151, 175, 126, 223, 113, 250, 94, 295, 92, 308, 123, 270, 178, 211, 212, 179, 226, 171, 234, 153, 219, 114, 190, 118
DATA  15  : ' nombre de côtés
DATA  249, 112,4278190080,4294237871
DATA  219, 114, 254, 111, 276, 121, 289, 123, 303, 121, 305, 131, 304, 154, 300, 175, 292, 191, 280, 194, 261, 185, 242, 176, 225, 172, 234, 153, 219, 114
DATA  25  : ' nombre de côtés
DATA  225, 172,4278190080,4284638274
DATA  226, 171, 244, 177, 257, 183, 275, 192, 281, 193, 291, 191, 273, 224, 257, 242, 241, 258, 225, 270, 213, 278, 195, 284, 179, 291, 172, 291, 164, 281, 165, 268, 156, 270, 150, 278, 150, 286, 141, 290
DATA  134,259, 145, 247, 186, 202, 212, 178, 226, 171
DATA  13  : ' nombre de côtés
DATA  133, 260,4278190080,4278386945
DATA  150, 282, 161, 296, 138, 305, 111, 330, 90, 353, 82, 364, 67, 371, 54, 383, 83, 337, 97, 301, 134, 258, 141, 289, 150, 282
DATA  8  : ' nombre de côtés
DATA  161, 269,4278190080,4284569447
DATA  150, 283, 150, 276, 156, 269, 165, 268, 164, 280, 174, 292, 164, 299, 150, 283
DATA  6  : ' nombre de côtés
DATA  172, 294,4278190080,4282529422
DATA  173, 293, 179, 303, 171, 310, 164, 308, 163, 298, 173, 293
DATA  28  : ' nombre de côtés
DATA  178, 303,4278190080,4283051284
DATA  164, 309, 160, 312, 157, 319, 157, 330, 173, 321, 176, 327, 177, 337, 182, 346, 182, 360, 177, 368, 175, 372, 185, 365, 190, 356, 186, 337, 190, 355, 179, 367, 177, 372, 186, 371, 192, 359, 193, 338
DATA  199, 351, 201, 353, 204, 345, 193, 328, 189, 316, 178, 302, 170, 311, 164, 309
DATA  20  : ' nombre de côtés
DATA  209, 279,4278190080,4287461209
DATA  210, 278, 244, 288, 260, 296, 268, 305, 269, 318, 266, 320, 258, 306, 258, 322, 255, 336, 250, 345, 245, 348, 248, 334, 250, 319, 244, 325, 245, 312, 235, 300, 220, 302, 224, 295, 195, 284, 210, 278
DATA  12  : ' nombre de côtés
DATA  171, 322,4278190080,4286282374
DATA  157, 328, 122, 346, 92, 363, 61, 386, 21, 413, 76, 415, 132, 375, 183, 349, 178, 338, 177, 329, 172, 321, 157, 328
DATA  10  : ' nombre de côtés
DATA  181, 350,4278190080,4282068014
DATA  78, 414, 94, 415, 133, 388, 160, 372, 175, 369, 181, 359, 183, 348, 158, 361, 132, 375, 78, 414
DATA  9  : ' nombre de côtés
DATA  231, 300,4278190080,4286933626
DATA  187, 312, 220, 301, 234, 299, 243, 310, 244, 324, 232, 329, 202, 339, 194, 329, 187, 312
DATA  12  : ' nombre de côtés
DATA  316, 287,4278190080,4282203216
DATA  256, 294, 319, 286, 356, 287, 399, 294, 415, 300, 414, 321, 367, 311, 325, 312, 298, 313, 267, 319, 269, 305, 256, 294
DATA  13  : ' nombre de côtés
DATA  259, 309,4278190080,4281279010
DATA  255, 334, 258, 306, 266, 318, 291, 313, 334, 310, 378, 312, 414, 322, 415, 341, 372, 328, 334, 324, 296, 328, 272, 331, 255, 334
DATA  7  : ' nombre de côtés
DATA  243, 324,4278190080,4278912518
DATA  200, 337, 244, 323, 249, 329, 246, 338, 202, 350, 202, 344, 200, 337
rem ============================================================================



Allo ! Les spécialistes des DLL Oiseau10
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptySam 7 Jan 2023 - 11:58

Bonjour Papydall et bonjour à tous !

Merci Papydall pour cet excellent exemple. Je comprends mieux le principe. Wink
- On crée des polygones avec x cotés
- On rempli le polygone d'une couleur avec une couleur de bordure
- et on passe au suivant

Ce qui serait intéressant c'est d'avoir un outil qui permette cette réalisation à partir d'une image ou photo.
Cela semble réalisable en Panoramic. Ca ressemblerai à un logiciel de dessin mais en plus simple....

Cette technique de dessin vectoriel est très intéressante en tout cas.
Merci à tous pour vos explications.  sunny
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jack
Admin
Jack


Nombre de messages : 2395
Date d'inscription : 28/05/2007

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyMar 10 Jan 2023 - 9:26

Papydall, au risque de te décevoir, dans l'état actuel de Panoramic, il n'y a pas de solution simple pour que la commande draw de Freebasic puisse s'exécuter sur un objet Panoramic (Picture, Button_Picture, Form ?) à partir d'une DLL.

En me documentant sur cette commande draw, je me suis aperçu qu'elle existait dans la plupart des basics: FreeBasic, QuickBasic, QB64, GFABasic, TurboBasic, GWBasic, ...
Alors, je me suis dit : il faut une commande de ce type pour Panoramic.

Et je suis en train de coder la commande 2D_DRAW qui aura une syntaxe similaire.
Je n'ai pas encore codé les couleurs, mais voici un aperçu de ce que cela donnera:

Allo ! Les spécialistes des DLL 2d_dra10


J'ai utilisé les DATA de ton exemple, mais pour qu'on y voit quelque chose, j'ai multiplié les coordonnées par 5, ce qui est une bonne nouvelle, car dans l'avenir, avec 2D_DRAW, on pourra dessiner des dessins avec une grande finesse, de manière beaucoup plus fine qu'avec les autres Basics.

A bientôt ...

_________________
Allo ! Les spécialistes des DLL Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyMar 10 Jan 2023 - 12:18

En voilà une bonne idée Jack !

J'ai hâte de tester cette nouvelle version... Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptyMar 10 Jan 2023 - 15:30

Bonjour tout le monde.

Jack a écrit:
Papydall, au risque de te décevoir, dans l'état actuel de Panoramic, il n'y a pas de solution simple pour que la commande draw de Freebasic puisse s'exécuter sur un objet Panoramic (Picture, Button_Picture, Form ?) à partir d'une DLL.

Sad  Sad  Sad

Dans le paragraphe suivant, tu me rassures :
Jack a écrit:
Et je suis en train de coder la commande 2D_DRAW qui aura une syntaxe similaire.

Cool  Cool  Cool

Mille mercis pour cette bonne nouvelle.

Une commande implémentée dans le langage vaut mieux que l'utilisation d'une DLL. cheers

J'attends un peu et je mettrai Résolu king
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptySam 11 Nov 2023 - 2:33

Salut tout le monde

J’ai trouvé la solution à ma deuxième question posée dans mon 1er message de ce topic
concernant l’erreur « ne répond pas ».
J’ai modifié le code de MaDLL et je l’ai renommée tout simplement Draw.dll
Cette dll exporte une seule fonction drawX  (respectez la casse)
L’appel à partir de Panoramic se fait comme suit :
Code:

ret% = dll_call1("drawX",adr(d$))


D$ est la chaine de caractères qui contient la séquence de commandes.


Vous pouvez télécharger  Draw.zip sur mon webdav.
Le zip contient :
Draw.dll
Demo_Draw.bas
Demo_Draw.exe

La sortie du programme se fait tout simplement par la croix rouge.



.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptySam 11 Nov 2023 - 7:49

Merci papydall !

Effectivement, cela marche très bien.

Peut-on avoir le code de la DLL ?
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptySam 11 Nov 2023 - 9:12

Tu peux essayer d'insérer la fenetre freebasic dans un form panoramic, voir ce sujet
Sinon, pourquoi tu ne reproduis pas la commande "draw" en pur panoramic?
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL EmptySam 11 Nov 2023 - 14:03

Voici le code source de Draw.dll

Code:

' Draw.bas
' compiler comme ceci :
' en ligne de commande : fbc32.exe Draw.bas -dll


extern "Windows-MS"

' ------------------------------------------------------------------------------
Function drawX(byref d as string) as integer export
    Screenres 680,480,32
    Color Rgb(0,0,0),Rgb(255,255,255) : Cls
    Draw d
    while inkey <> "" : wend
    return 0
End Function
' ------------------------------------------------------------------------------
end extern
' ------------------------------------------------------------------------------

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Allo ! Les spécialistes des DLL Empty
MessageSujet: Re: Allo ! Les spécialistes des DLL   Allo ! Les spécialistes des DLL Empty

Revenir en haut Aller en bas
 
Allo ! Les spécialistes des DLL
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» ALLO !
» " Allo...Houston !...on a un problème...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: