FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» StratégoV8 et V9
par Minibug Aujourd'hui à 21:47

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 21:28

» Déformation d'image en trapèze
par mindstorm Aujourd'hui à 21:06

» Mah-Jong américain
par Jean Claude Hier à 19:37

» Problème avec Deepl
par Klaus Hier à 0:34

» Quelques nouvelles ...
par Jean Claude Ven 12 Jan 2018 - 22:40

» Renommer les instructions ITEM_... ?
par Jicehel Ven 12 Jan 2018 - 18:56

» Ludothèque Panoramic
par jjn4 Ven 12 Jan 2018 - 18:11

» sous-programmes et fonctions
par Jack Ven 12 Jan 2018 - 17:51

» Mah-Jong français
par Jean Claude Jeu 11 Jan 2018 - 22:15

» HVIEWER
par Klaus Mer 10 Jan 2018 - 2:06

» panoramic 0.9.28
par gigi75 Ven 5 Jan 2018 - 14:06

» Un jeu qui va vous énerver!
par Jean Claude Jeu 4 Jan 2018 - 22:05

» Bonne fêtes de fin d'année ! Meilleurs Vœux 2018 !
par Jicehel Jeu 4 Jan 2018 - 17:28

» Mah-Jong international
par jjn4 Jeu 4 Jan 2018 - 16:55

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2018
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier

Partagez | 
 

 Composition graphique d'une page A4

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3, 4  Suivant
AuteurMessage
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Composition graphique d'une page A4   Jeu 9 Fév 2012 - 17:45

Suite à une idée de départ de lodchjo (dessin), un petit programme de composition d'une page, qui pourrait servir pour faire une affichette, une page de garde, etc.
Ça ne rivalisera certes pas avec powerpoint ni avec n'importe quel logiciel de dessin vectoriel, mais c'est ouvert pour des développements plus élaborés.
Au départ on a une représentation de la page A4 (grandeur nature si on a comme moi Very Happy la chance d'avoir un écran de 1200 points en vertical), et on dispose d'un certain nombre d'outils pour y dessiner des figures, insérer des images ou des textes.
On peut sauvegarder le résultat sous forme d'image jpg ou bmp, pour rappel ultérieur, et/ou l'imprimer.
Pour la manipulation des images (réductions et conversions éventuelles), il faudra disposer de IrfanView.
Pour l'impression finale, il faut disposer de l'excellent WTP.exe de notre ami Klaus, très simple à paramétrer.
Comme toujours, les chemins des ressources, en tête du programme, sont à ajuster.

Il n'y a rien de compliqué, tout est facilement modifiable et adaptable à son goût.
Pour pouvoir insérer les textes avec fond transparent, j'ai appliqué la méthode de copie pixel par pixel, ce n'est qu'à moitié satisfaisant...
Voir l'aide pour plus de détails, mais c'est très simple.
Code:

' CompoA4.bas composition graphique d'une page A4
LABEL drw, drl, Type, Trait, remplir, Texte, Coller, Textok, Textan, Chimg, Reduc
LABEL Img, Couleur, Chcoul, Chpol, Chpol1, Enrich, Undo, Lire, Sauve, Imprime
LABEL Dimima, Grille, Aide, Quit, Chtail, Pluscoul, Pluscoul1, Chc1, Copy, Paste
LABEL Lmm, Fsel
LABEL Sor_Aid, Rub_Aid: ' s/p d'aide
DIM x%,y%, xs%, ys%, xc%, yc%, i%, j%, mg%, cr%(16), cg%(16), cb%(16), pp%, n%
DIM h0%, mg1%, md1%, mh1%, mb1%, lp1%, hp1%, ctr%, ctg%, ctb%, ra%, ga%, ba%, wt%(100)
DIM tp%, lf%, c%, r%, ac%, at%, a$, a1$, typ%, al, pi, pol$, sz%, tb%, lp%, tpi%
DIM gr%, it%, so%, wtp$, fm$, fp$, fi$, fr$, fs$, iview$, wi%, hi%, la%, ha%, mm2pix
DIM pg%, xd%, yd%, xf%, yf%
DIM wco%, hco%, eco%, wct%, hct%
DATA 0,0,0,0,0,128,0,128,0,0,128,128,128,0,0,128,0,128,128,64,0,192,192,192
DATA 128,128,128,0,0,255,0,255,0,0,255,255,255,0,0,255,0,255,255,255,0,255,255,255
wtp$ = "C:\UTIL\WTP.exe "
iview$ = "C:\Progra~2\Irfanv~1\i_view32.exe "
fm$ = "C:\Temp\Fprn.bmp"
fp$ = "C:\Temp\Fprn.txt"
fr$ = "C:\Temp\Redimg.jpg"

FOR i% = 0 TO 15: READ cr%(i%): READ cg%(i%): READ cb%(i%): NEXT i%
mg% = 200: xs% = -1
ac% = 0: at% = 0: pi = 4*ATN(1)
pol$ = "Arial": sz% = 12
h0% = SCREEN_Y-40
' h0% = 1040: ' autres écrans, pour tests
WIDTH 0, 1020: HEIGHT 0, h0%: COLOR 0,164,255,255: FONT_BOLD 0
CAPTION 0, " - COMPOSITION D'UNE PAGE A4 -"
border_small 0

ALPHA 10: LEFT 10, 5: TOP 10, 5: CAPTION 10, "Epaisseur trait:"
LIST 9: TOP 9, 5 : LEFT 9, 135: WIDTH 9, 60: HEIGHT 9, 21
SPIN 11: TOP 11,3: LEFT 11, 90: WIDTH 11, 40
MIN 11, 1: MAX 11, 20: POSITION 11, 1: ON_CHANGE 11, Lmm

pp% = 14: tp% = 30: lf% = 60: j% = 30
pg% = 10: ' pas de la grille
FOR i% = 0 TO 15
    n% = pp%+i%
    c% = INT(i%/4): r% = MOD(i%, 4): ' colonne, rangée
    PICTURE n%: TOP n%, tp%+r%*j%+r%*2: LEFT n%, lf% + c%*j%+ c%*5
    WIDTH n%, j%: HEIGHT n%, 30
    2D_TARGET_IS n%: 2D_FILL_COLOR cr%(i%),cg%(i%),cb%(i%)
    2D_RECTANGLE 0,0,j%,j%
    ON_CLICK n%, Chcoul
NEXT i%
BUTTON 30: TOP 30,tp%+(r%+1)*(j%+3): LEFT 30, lf%: WIDTH 30, j%*4+15
HEIGHT 30, 20: CAPTION 30, "+ de couleurs...": ON_CLICK 30, Pluscoul
ALPHA 40: LEFT 40, 5: TOP 40, 30: COLOR 40, 210,210,210
CAPTION 40, "Couleur"+CHR$(10)+"de trait:"
PICTURE 41: TOP 41, 55: LEFT 41, 5: WIDTH 41, 45: HEIGHT 41, 16
COLOR 41,0,0,0
ALPHA 42: LEFT 42,3: TOP 42, 85:COLOR 42, 210,210,210
CAPTION 42, "Couleur"+CHR$(10)+"rempliss"
PICTURE 43: TOP 43, 110: LEFT 43,5: WIDTH 43,45: HEIGHT 43, 16
COLOR 43,255,255,255
ALPHA 44: LEFT 44,3: TOP 44, 140:COLOR 44, 210,210,210
CAPTION 44, "Couleur"+CHR$(10)+"de texte"
PICTURE 45: TOP 45, 165: LEFT 45,5: WIDTH 45,45: HEIGHT 45, 16
COLOR 45,0,0,0
FOR i% = 40 TO 45: ON_CLICK i%, Couleur: NEXT i%
LIST 46: TOP 46, 190: LEFT 46, 5: WIDTH 46, mg%-10: HEIGHT 46, 30
COLOR 46, 255,255,128: FONT_COLOR 46, 192,0,0

CONTAINER_OPTION 50: TOP 50, 220: LEFT 50, 5: WIDTH 50, mg%-10: HEIGHT 50, 200
CAPTION 50, "- Figure: - "
OPTION 51: PARENT 51, 50: TOP 51, 16: LEFT 51, 20: CAPTION 51, "Trait"
OPTION 52: PARENT 52, 50: TOP 52, 32: LEFT 52, 20: CAPTION 52, "Rectangle vide"
OPTION 53: PARENT 53, 50: TOP 53, 48: LEFT 53, 20: CAPTION 53, "Rectangle plein"
OPTION 54: PARENT 54, 50: TOP 54, 64: LEFT 54, 20: CAPTION 54, "Cercle vide"
OPTION 55: PARENT 55, 50: TOP 55, 80: LEFT 55, 20: CAPTION 55, "Cercle plein"
OPTION 56: PARENT 56, 50: TOP 56, 96: LEFT 56, 20: CAPTION 56, "Polygone fermé"
OPTION 57: PARENT 57, 50: TOP 57, 112: LEFT 57, 20: CAPTION 57, "Tracé libre"
OPTION 58: PARENT 58, 50: TOP 58, 128: LEFT 58, 20: CAPTION 58, "Remplir une figure"
WIDTH 58, 140
OPTION 59: PARENT 59, 50: TOP 59, 144: LEFT 59, 20: CAPTION 59, "Texte"
OPTION 60: PARENT 60, 50: TOP 60, 160: LEFT 60, 20: CAPTION 60, "Image"
MARK_ON 51: typ% = 1
FOR i% = 51 TO 60: ON_CLICK i%, Type: NEXT i%

' Form de saisie de texte
FORM 100: WIDTH 100, 900: HEIGHT 100, 590: FONT_BOLD 100: COLOR 100, 255,255,164: HIDE 100
ALPHA 101: TOP 101, 8: PARENT 101, 100: CAPTION 101, "TEXTE A INSÉRER:"
MEMO 102: PARENT 102, 100: TOP 102, 25: WIDTH 102, 884: HEIGHT 102, 500
EDIT 103: PARENT 103, 100: TOP 103, 2: LEFT 103, 250: TEXT 103, pol$: ON_CLICK 103, Chpol
SPIN 104: PARENT 104, 100: TOP 104, 2: LEFT 104, 375: WIDTH 104, 45
MIN 104, 6: MAX 104, 128: POSITION 104, sz%
ON_CHANGE 104, Chtail
LIST 105: PARENT 105, 100: TOP 105, 30: LEFT 105, 250: WIDTH 105, 180: HEIGHT 105, 200: HIDE 105
COLOR 105, 255,200,200: FONT_NAMES_LOAD 105: ON_CLICK 105, Chpol1
BUTTON 106:PARENT 106,100:TOP 106,2: LEFT 106,430:WIDTH 106,25: CAPTION 106,"G"
BUTTON 107:PARENT 107,100:TOP 107,2:LEFT 107,455:WIDTH 107,25:CAPTION 107,"I"
BUTTON 108:PARENT 108,100:TOP 108,2:LEFT 108,480:WIDTH 108,25:CAPTION 108,"S"
FOR i% = 106 TO 108: ON_CLICK i%, Enrich: NEXT i%
BUTTON 109: PARENT 109, 100: TOP 109, 525: LEFT 109, 300: CAPTION 109, "Insérer"
BUTTON 110: PARENT 110, 100: TOP 110, 525: LEFT 110, 400: CAPTION 110, "Annuler"
ON_CLICK 109, Textok: ON_CLICK 110, Textan
BUTTON 111: PARENT 111, 100: TOP 111, 2: LEFT 111, 130: CAPTION 111, "Coller"
ON_CLICK 111, Coller

ALPHA 74: TOP 74, 422: LEFT 74, 5: CAPTION 74, "Image à insérer:"
EDIT 75: TOP 75, 435: WIDTH 75, mg%-5
ON_CLICK 75, Chimg
PICTURE 76: TOP 76, -1000: LEFT 76, -1000
ALPHA 77: TOP 77, 457:LEFT 77,5: WIDTH 77,mg%-10: COLOR 77,255,255,128

CHECK 78: TOP 78, 477: LEFT 78, 10: CAPTION 78, "Redim. %"
SPIN 79: TOP 79, 475: LEFT 79, 90: WIDTH 79, 45
MIN 79, 10: MAX 79, 300: POSITION 79, 100
BUTTON 88: TOP 88, 476: LEFT 88, 140: WIDTH 88, 55: HEIGHT 88,22: CAPTION 88, "OK"
ON_CLICK 88, Reduc
ALPHA 89: TOP 89, 500: LEFT 89,5: WIDTH 89,mg%-10: COLOR 89,255,255,128

tb% = 540
CONTAINER_OPTION 87: TOP 87, tb%-20: LEFT 87, 5: WIDTH 87, mg%-10: HEIGHT 87, 36
CAPTION 87, " Grille "
OPTION 120: PARENT 120,87: TOP 120,15: LEFT 120,10: CAPTION 120, "Off"
OPTION 121: PARENT 121,87: TOP 121,15: LEFT 121,60: CAPTION 121, "5 mm"
OPTION 122: PARENT 122,87: TOP 122,15: LEFT 122,120: WIDTH 122, 60:CAPTION 122, "10 mm"
MARK_ON 120
ON_CLICK 120, Grille: ON_CLICK 121, Grille: ON_CLICK 122, Grille

CHECK 92: TOP 92, tb%+20: LEFT 92, 65: WIDTH 92, 120: CAPTION 92, "Attraction grille"
BUTTON 81: TOP 81, tb%+65: LEFT 81, 5: WIDTH 81, 90: CAPTION 81, "Ouvrir"
ON_CLICK 81, Lire
BUTTON 82: TOP 82, tb%+65: LEFT 82, mg%/2: WIDTH 82, 90: CAPTION 82, "Sauvegarder"
ON_CLICK 82, Sauve
BUTTON 84: TOP 84, tb%+95: LEFT 84, mg%/2: WIDTH 84, 90: CAPTION 84, "Imprimer"
ON_CLICK 84, Imprime
BUTTON 90: TOP 90, tb%+95: LEFT 90, 5: WIDTH 90, 90: CAPTION 90, "Copier"
ON_CLICK 90, Copy
BUTTON 91: TOP 91, tb%+125: LEFT 91, 5: WIDTH 91,90: CAPTION 91, "Coller"
ON_CLICK 91, Paste
BUTTON 83: TOP 83, tb%+125: LEFT 83, mg%/2: WIDTH 83, 90: CAPTION 83, "Aide"
ON_CLICK 83, Aide
BUTTON 85: TOP 85, tb%+155: LEFT 85, mg%/2: WIDTH 85, 90: CAPTION 85, "Quitter"
ON_CLICK 85, Quit
BUTTON 80:TOP 80, tb%+155: LEFT 80, 5: WIDTH 80, 90: CAPTION 80, "Undo"
ON_CLICK 80, Undo
EDIT 86: TOP 86, tb%+40: WIDTH 86, mg%-5

' Palette de couleurs html:
wco% = 50: hco% = 20: eco% = 0
wct% = 6*(wco%+eco%): hct% = 36*(hco%+eco%)
FORM 300: TOP 300, 50: LEFT 300, 50: BORDER_SMALL 300: CAPTION 300, " - PALETTE DE COULEURS HTML -"
WIDTH 300, wct%+16: HEIGHT 300, hct%+34: HIDE 300
PICTURE 301: PARENT 301, 300: WIDTH 301, wct%: HEIGHT 301,hct%
2D_TARGET_IS 301
ra% = 0: ga% = 0: ba% = 0
FOR j% = 0 TO 35
    y% = j%*(hco%+eco%)
    FOR i% = 0 TO 5
        x% = i%*(wco%+eco%)
        2D_FILL_COLOR ra%,ga%,ba%
        2D_RECTANGLE x%,y%,x%+wco%-1,y%+hco%-1
        ba% = ba% + HEX("33")
        IF ba% > 255
            ba% = 0: ga% = ga% + HEX("33")
            IF ga% > 255
                ga% = 0: ra% = ra% + HEX("33")
            END_IF
        END_IF
    NEXT i%
NEXT j%
ON_CLICK 301, Pluscoul1

DLIST 400

la% = 778: ' pour feuille A4 grandeur nature (écran 1920x1200)
la% = 778*h0%/1160: ' si autres écrans
ha% = la%*SQR(2): ' proportions feuille A4
WIDTH 0, mg%+la%+50
mm2pix = la%/210: ' pixels par mm, à l'écran
lp% = mg%+15: tpi% = 22
mg1% = 3*mm2pix: md1% = 4*mm2pix
mh1% = 3*mm2pix: mb1% = 4*mm2pix: ' marges non imprimables G, D, H
lp1% = la%-mg1%-md1%: hp1% = ha%-mh1%-mb1%
' Marges non imprimables et échelles périphériques:
PICTURE 2: TOP 2,tpi%-11: LEFT 2,lp%-11:WIDTH 2, la%+22: HEIGHT 2, ha%+11
2D_TARGET_IS 2
2D_FILL_COLOR 164,255,255: 2D_RECTANGLE 0,0,WIDTH(2),HEIGHT(2)
2D_PEN_COLOR 164,255,255: 2D_FILL_COLOR 255,0,0: 2D_FILL_DIAGONAL_CROSS
2D_RECTANGLE 11,11,la%+11,ha%+11
2D_PEN_COLOR 255,255,255: 2D_FILL_COLOR 255,255,255
2D_RECTANGLE mg1%+11,mh1%+11, mg1%+lp1%+11,mh1%+hp1%+11: 2d_PEN_COLOR 0,0,0
FOR i% = 0 TO 210 STEP 5
    j% = i%*mm2pix+11: n% = 8: IF MOD(i%,10) = 0 THEN n% = 4
    2D_PEN_WIDTH 1: IF MOD(i%,50) = 0 THEN 2D_PEN_WIDTH 3
    2D_LINE j%,n%,j%,11
    display
NEXT i%
FOR i% = 0 TO 297 STEP 5
    j% = i%*mm2pix+11: n% = 5: IF MOD(i%,10) = 0 THEN n% = 0
    2D_PEN_WIDTH 1: IF MOD(i%,50) = 0 THEN 2D_PEN_WIDTH 3
    2D_LINE n%,j%,11,j%
    2D_LINE la%+11,j%,la%+22-n%,j%
NEXT i%
PICTURE 1: TOP 1, tpi%+11: LEFT 1, lp%+11: WIDTH 1, lp1%: HEIGHT 1, hp1%: ' surface imprimable
ALPHA 4: LEFT 4, lp%+la%/2-90: TOP 4, 0: WIDTH 4, 180: HEIGHT 4, 10: COLOR 4,255,255,164

i% = 10*POSITION(11)/mm2pix: iTEM_ADD 9, "= "+STR$(i%/10)+" mm"

SAVE_DIALOG 95
OPEN_DIALOG 96
IMAGE 97: ' transfert d'une image
IMAGE 98: ' sauvegarde avant dessin (pour undo)
IMAGE 99: ' sauvegarde zone de la croix
2D_TARGET_IS 1

TIMER 199: TIMER_INTERVAL 199, 100: ON_TIMER 199, drw

END
' ==============================================================================
Quit:
TERMINATE

drw:
IF MOUSE_LEFT_DOWN(1) = 0 THEN RETURN
TIMER_OFF 199
x% = MOUSE_X_POSITION(1): y% = MOUSE_Y_POSITION(1)
IF ac% > 0
    ' choix de couleur dans la feuille (pipette)
    ac% = ac% + 3: GOSUB Chcoul
    while mouse_left_up(1) = 0: end_while
    TIMER_ON 199
    RETURN
END_IF
IF CHECKED(92) = 1
    ' Attraction de la grille
    i% = x%+mg1%: j% = y%+mh1%: ' coordonnées du clic en valeur absolue feuille
    xc% = (pg%*mm2pix)*INT(i%/(pg%*mm2pix))-mg1%
    yc% = (pg%*mm2pix)*INT(j%/(pg%*mm2pix))-mh1%: ' coin supérieur gauche de la case
    IF x% > (xc%+pg%*mm2pix/2)
        x% = xc% + pg%*mm2pix
    ELSE
        x% = xc%
    END_IF
    IF y% > (yc%+pg%*mm2pix/2)
        y% = yc% + pg%*mm2pix
    ELSE
        y% = yc%
    END_IF
END_IF
2D_PEN_WIDTH POSITION(11)
2D_IMAGE_COPY 98,0,0,WIDTH(1),HEIGHT(1): ' sauvegarde initiale pour undo éventuel
SELECT typ%
    CASE 1: GOSUB Trait: GOTO Fsel
    CASE 2: GOSUB Trait: GOTO Fsel
    CASE 3: GOSUB Trait: GOTO Fsel
    CASE 4: GOSUB Trait: GOTO Fsel
    CASE 5: GOSUB Trait: GOTO Fsel
    CASE 6: GOSUB Trait: GOTO Fsel
    CASE 7: GOSUB drl: GOTO Fsel
    CASE 8: GOSUB Remplir: GOTO Fsel
    CASE 9: GOSUB Texte: GOTO Fsel
    CASE 10: GOSUB Img: GOTO Fsel
END_SELECT
Fsel:
GOSUB Grille
TIMER_ON 199
RETURN

Lmm:
i% = 10*POSITION(11)/mm2pix: CLEAR 9: ITEM_ADD 9, "= "+STR$(i%/10)+" mm"
RETURN

Trait:
xd% = x%: yd% = y%
WHILE MOUSE_LEFT_UP(1) = 0
    x% = MOUSE_X_POSITION(1): y% = MOUSE_Y_POSITION(1)
    IF x% <> xs% OR y% <> ys%
        xs% = x%: ys% = y%
        i% = (x%+11)/mm2pix: j% = (y%+11)/mm2pix
        CAPTION 4, " x="+STR$(x%)+"  y="+STR$(y%)+" (x="+STR$(i%)+" y="+STR$(j%)+" mm)"
        2D_IMAGE_PASTE 98,0,0
        SELECT typ%
            CASE 1: 2D_LINE xd%,yd%,x%,y%
            CASE 2: 2D_LINE xd%,yd%,x%,yd%: 2D_POLY_TO x%,y%
                    2D_POLY_TO xd%,y%: 2D_POLY_TO xd%,yd%
            CASE 3: 2D_RECTANGLE xd%,yd%,x%,y%
            CASE 4: n% = SQR(POWER(x%-xd%,2) + POWER(yd%-y%,2)): ' rayon
                    xf% = xd%+n%: yf% = yd%
                    FOR al = 0 TO 2*pi+.1 STEP .1
                        x% = xd%+n%*COS(al): y% = yd%-n%*SIN(al)
                        2D_LINE xf%,yf%,x%,y%
                        xf% = x%: yf% = y%
                    NEXT al
            CASE 5: 2D_CIRCLE xd%,yd%,SQR(POWER(x%-xd%,2) + POWER(yd%-y%,2))
            CASE 6: 2D_LINE xd%,yd%,x%,y%
        END_SELECT
        WAIT 100
        GOSUB Grille
    END_IF
END_WHILE
RETURN

Remplir:
i% = (x%+11)/mm2pix: j% = (y%+11)/mm2pix
CAPTION 4, " x="+STR$(x%)+"  y="+STR$(y%)+" (x="+STR$(i%)+" y="+STR$(j%)+" mm)"
ra% = COLOR_PIXEL_RED(43,1,1): ' couleur de remplissage
ga% = COLOR_PIXEL_GREEN(43,1,1)
ba% = COLOR_PIXEL_BLUE(43,1,1)
2D_FLOOD x%,y%,ra%,ga%,ba%: ' remplissage
while mouse_left_up(1) = 0: end_while
GOSUB Grille
RETURN

Texte:
i% = (x%+11)/mm2pix: j% = (y%+11)/mm2pix
CAPTION 4, " x="+STR$(x%)+"  y="+STR$(y%)+" (x="+STR$(i%)+" y="+STR$(j%)+" mm)"
xs% = x%: ys% = y%
CLEAR 102: SHOW 100
pol$ = TEXT$(103): sz% = POSITION(104)
FONT_NAME 102, pol$: FONT_SIZE 102, sz%: FONT_COLOR 102, ctr%,ctg%,ctb%
FONT_BOLD_OFF 102: FONT_ITALIC_OFF 102: FONT_UNDERLINE_OFF 102
IF gr% = 1 THEN FONT_BOLD 102
IF it% = 1 THEN FONT_ITALIC 102
IF so% = 1 THEN FONT_UNDERLINE 102
SET_FOCUS 102
RETURN

Coller:
CLIPBOARD_PASTE 102
RETURN

Textok:
HIDE 100
IF COUNT(102) = 0 THEN RETURN: ' zone vide, pas de texte
PICTURE 200: TOP 200,-1200: WIDTH 200, 800: HEIGHT 200, 1100
2D_TARGET_IS 200: 2D_FILL_COLOR 1,1,1: 2D_RECTANGLE 0,0,WIDTH(200),HEIGHT(200)
PRINT_TARGET_IS 200: FONT_NAME 200, pol$: FONT_SIZE 200, sz%
FONT_COLOR 200, ctr%,ctg%,ctb%
IF gr% = 1 THEN FONT_BOLD 200
IF it% = 1 THEN FONT_ITALIC 200
IF so% = 1 THEN FONT_UNDERLINE 200
hi% = 0: y% = 0
FOR n% = 1 TO COUNT(102)
    a$ = ITEM_READ$(102, n%): wt%(n%) = TEXT_WIDTH(a$, 200)
    PRINT_LOCATE 0, y%: PRINT a$
    j% = TEXT_HEIGHT(a$, 200): hi% = hi% + j%: y% = y% + j%
NEXT n%
2D_TARGET_IS 1: 2D_PEN_COLOR ctr%,ctg%,ctb%
FOR n% = 1 TO COUNT(102)
    i% = (n%-1)*j%
    FOR y% = i% TO i%+j%-1
        FOR x% = 0 TO wt%(n%)-1
            ra% = COLOR_PIXEL_RED(200,x%,y%)
            IF ra% <> 1 THEN 2D_POINT xs%+x%,ys%+y%
        NEXT x%
        Display: ' affichage ligne par ligne
    NEXT y%
NEXT n%
while mouse_left_up(1) = 0: end_while
PRINT_TARGET_IS 1
DELETE 200
RETURN

Textan:
HIDE 100
while mouse_left_up(1) = 0: end_while
RETURN

Chtail:
sz% = POSITION(104): FONT_SIZE 102, sz%
RETURN

Chimg:
TIMER_OFF 199
fi$ = FILE_NAME$(96)
IF LEN(fi$) > 3
    TEXT 75, fi$
    GOSUB Dimima: ' -> wi%, hi%
    WIDTH 76, wi%: HEIGHT 76, hi%
    FILE_LOAD 76, fi$
    a$ = STR$(wi%)+"x"+STR$(hi%)+" pixels, "
    i% = wi%/mm2pix: j% = hi%/mm2pix
    a$ = a$ + STR$(i%)+"x"+STR$(j%)+" mm"
    CAPTION 77, a$
END_IF
TIMER_ON 199
RETURN

Reduc:
TIMER_OFF 199
fi$ = TEXT$(75)
IF FILE_EXISTS(fi$) = 0
    MESSAGE "Pas d'image à réduire !"
ELSE
    IF CHECKED(78) = 1
        n% = POSITION(79)
        i% = wi%*n%/100: j% = hi%*n%/100
        WIDTH 76, i%: HEIGHT 76, j%
        EXECUTE_WAIT iview$ + fi$ + " /resize=("+STR$(i%)+","+STR$(j%)+") /convert="+fr$
        FILE_LOAD 76, fr$
        a$ = STR$(i%)+"x"+STR$(j%)+" pixels, "
        i% = i%/mm2pix: j% = j%/mm2pix
        a$ = a$ + STR$(i%)+"x"+STR$(j%)+" mm"
        CAPTION 89, a$
    ELSE
        WIDTH 76, wi%: HEIGHT 76, hi%
        FILE_LOAD 76, fi$
        CAPTION 89, ""
    END_IF
END_IF
TIMER_ON 199
RETURN

Img:
i% = (x%+11)/mm2pix: j% = (y%+11)/mm2pix
CAPTION 4, " x="+STR$(x%)+"  y="+STR$(y%)+" (x="+STR$(i%)+" y="+STR$(j%)+" mm)"
xs% = x%: ys% = y%
fi$ = TEXT$(75)
IF FILE_EXISTS(fi$) = 0
    a$ = "Pas d'image choisie !"+CHR$(10)+CHR$(10)
    a$ = a$ + "Cliquer dans 'Image à insérer' pour"+CHR$(10)
    a$ = a$ + "sélectionner une image."
    MESSAGE a$
    RETURN
END_IF
2D_TARGET_IS 76: 2D_IMAGE_COPY 97,0,0,WIDTH(76),HEIGHT(76)
2D_TARGET_IS 1: 2D_IMAGE_PASTE 97,xs%,ys%
while mouse_left_up(1) = 0: end_while
xs% = -1
RETURN

drl:
CLEAR 46: ITEM_ADD 46, a$
xs% = -1
WHILE MOUSE_LEFT_UP(1) = 0
    x% = MOUSE_X_POSITION(1): y% = MOUSE_Y_POSITION(1)
    IF x%<>xs% OR y%<>ys%
        i% = (x%+11)/mm2pix: j% = (y%+11)/mm2pix
        CAPTION 4, " x="+STR$(x%)+"  y="+STR$(y%)+" (x="+STR$(i%)+" y="+STR$(j%)+" mm)"
        IF xs% > 0 THEN 2D_LINE xs%,ys%,x%,y%
        xs% = x%: ys% = y%
    END_if
END_WHILE
CLEAR 46: xs% = -1
RETURN

Type:
FOR i% = 51 TO 60
    IF CHECKED(i%) = 1 THEN EXIT_FOR
NEXT i%
typ% = i% - 50: ' = 1 à 10
TIMER_ON 199
RETURN

Couleur:
IF CLICKED(40) = 1 OR CLICKED(41) = 1
    a$ = "CLIC LA COULEUR DE TRAIT !": ac% = 1
ELSE
    IF CLICKED(42) = 1 OR CLICKED(43) = 1
        a$ = "CLIC LA COULEUR DE FOND !": ac% = 2
    ELSE
        a$ = "CLIC LA COULEUR DE TEXTE !": ac% = 3
    END_IF
END_IF
CLEAR 46: ITEM_ADD 46, a$
RETURN

Chcoul:
IF ac% = 0 THEN RETURN
TIMER_OFF 199
IF ac% > 3
    ' Pipette: clic dans le picture pour prendre la couleur
    ra% = COLOR_PIXEL_RED(1,x%,y%)
    ga% = COLOR_PIXEL_GREEN(1,x%,y%)
    ba% = COLOR_PIXEL_BLUE(1,x%,y%)
    ac% = ac% - 3
ELSE
    FOR i% = 0 TO 15
        IF CLICKED(pp%+i%) = 1 THEN EXIT_FOR
    NEXT i%
    ra% = cr%(i%)
    ga% = cg%(i%)
    ba% = cb%(i%)
END_IF
Chc1:
IF ac% = 1
    2D_PEN_COLOR ra%,ga%,ba%
    COLOR 41, ra%,ga%,ba%
ELSE
    IF ac% = 2
        2D_FILL_COLOR ra%,ga%,ba%
        COLOR 43, ra%,ga%,ba%
    ELSE
        FONT_COLOR 1, ra%,ga%,ba%
        COLOR 45, ra%,ga%,ba%
        ctr% = ra%: ctg% = ga%: ctb% = ba%
    END_IF
END_IF
ac% = 0: CLEAR 46
TIMER_ON 199
RETURN

Pluscoul:
IF ac% = 0 THEN RETURN
SHOW 300: TO_FOREGROUND 300
RETURN

Pluscoul1:
x% = MOUSE_X_POSITION(301): y% = MOUSE_Y_POSITION(301)
ra% = COLOR_PIXEL_RED(301,x%,y%)
ga% = COLOR_PIXEL_GREEN(301,x%,y%)
ba% = COLOR_PIXEL_BLUE(301,x%,y%)
2D_TARGET_IS 1
HIDE 300
GOSUB Chc1
RETURN

Chpol:
SHOW 105
RETURN

Chpol1:
pol$ = ITEM_INDEX$(105): sz% = POSITION(104): HIDE 105
TEXT 103, pol$
FONT_NAME 102, pol$: FONT_SIZE 102, sz%
RETURN

Enrich:
IF CLICKED(106) = 1
    IF gr% = 0
        gr% = 1: FONT_BOLD 102
    ELSE
        gr% = 0: FONT_BOLD_OFF 102
    END_IF
ELSE
    IF CLICKED(107) = 1
        IF it% = 0
            it% = 1: FONT_ITALIC 102
        ELSE
            it% = 0: FONT_ITALIC_OFF 102
        END_IF
    ELSE
        IF so% = 0
            so% = 1: FONT_UNDERLINE 102
        ELSE
            so% = 0: FONT_UNDERLINE_OFF 102
        END_IF
    END_IF
END_IF
RETURN

Undo:
2D_IMAGE_PASTE 98, 0,0: ' restore l'image initiale
CLEAR 46: ' COLOR 3, 0,255,0
at% = 0: xs% = -1
RETURN

Lire:
TIMER_OFF 199
a$ = FILE_NAME$(96): IF LEN(a$) < 3 THEN RETURN
a1$ = UPPER$(RIGHT$(a$, 4))
IF a1$ <> ".BMP" AND a1$ <> ".JPG"
    MESSAGE "Fichier non JPG ou BMP, abandon !"
ELSE
    FILE_LOAD 1, a$
    TEXT 86, a$
END_IF
TIMER_ON 199
RETURN

Sauve:
TIMER_OFF 199
fs$ = FILE_NAME$(95)
IF LEN(fs$) > 3
    a1$ = UPPER$(RIGHT$(fs$, 4))
    IF a1$ <> ".BMP" AND a1$ <> ".JPG"
        a$ = "Le fichier de sortie doit être au format BMP ou JPG"+CHR$(10)+CHR$(10)
        a$ = a$ + CHR$(9)+CHR$(9)+"Abandon !"
        MESSAGE a$: TIMER_ON 199: RETURN
    END_IF
    IF a1$ = ".JPG"
        FILE_SAVE 1, fm$
        EXECUTE_WAIT iview$ + fm$ + " /convert=" + fs$
    ELSE
        FILE_SAVE 1, fs$
    END_IF
    FILE_DELETE fm$
END_IF
TIMER_ON 199
RETURN

Imprime:
' Le paramètre d'impression ci-dessous (unit_mm=on,23.62) est donné pour une
' impression en 600 dpi (600/25,4 = 23,62 pixels/mm). Il serait à ajuster pour
' un autre type d'impression.
TIMER_OFF 199
FILE_SAVE 1, fm$
FILE_OPEN_WRITE 1, fp$
    FILE_WRITELN 1, "<#unit_mm=on,23.62#>"
    FILE_WRITELN 1, "<#image=" + CHR$(34)+fm$+CHR$(34)+",0,0,203,289#>"
FILE_CLOSE 1
EXECUTE_WAIT wtp$ + "/file=" + fp$ + " /noshow"
TIMER_ON 199
RETURN

Dimima:
' dimensions en pixels et date d'une image fi$ -> wi%, hi%
DIM f_di$, a_di$, i_di%, k_di%: ' variables locales
f_di$ = "C:\Temp\Tmp"
EXECUTE_WAIT iview$ + fi$ + " /info=" + f_di$
FILE_LOAD 400, f_di$: FILE_DELETE f_di$
FOR i_di% = 1 TO COUNT(400)
    a_di$ = ITEM_READ$(400, i_di%)
    IF LEFT$(a_di$, 16) = "Image dimensions"
        a_di$ = MID$(a_di$, 20, 50): k_di% = INSTR(a_di$, " ")
        wi% = VAL(LEFT$(a_di$, k_di%-1))
        a_di$ = MID$(a_di$, k_di%+3, 50): k_di% = INSTR(a_di$, " ")
        hi% = VAL(LEFT$(a_di$, k_di%-1))
        EXIT_FOR
    END_IF
NEXT i_di%
FREE f_di$: FREE a_di$: FREE i_di%: FREE k_di%
RETURN

Grille:
IF CHECKED(120) = 1 THEN 2D_POINT 0,0: RETURN: ' Efface la grille
display
2D_TARGET_IS 0: 2D_PEN_COLOR 164,128,64
pg% = 10: IF CHECKED(121) = 1 THEN pg% = 5
FOR i% = 10 TO 290 STEP pg%
    2D_PEN_WIDTH 1
    IF pg% = 5 AND MOD(i%,10) = 0 THEN 2D_PEN_WIDTH 2
    IF MOD(i%,50) = 0 THEN 2D_PEN_WIDTH 3
    j% = i%*mm2pix + tpi%
    2D_LINE lp%+mg1%,j%,lp%+la%-md1%,j%
NEXT i%
FOR i% = 10 TO 205 STEP pg%
    2D_PEN_WIDTH 1
    IF pg% = 5 AND MOD(i%,10) = 0 THEN 2D_PEN_WIDTH 2
    IF MOD(i%,50) = 0 THEN 2D_PEN_WIDTH 3
    j% = i%*mm2pix + lp%
    2D_LINE j%,tpi%+mh1%,j%,tpi%+ha%-mb1%
NEXT i%
2D_TARGET_IS 1
RETURN

Copy:
CLIPBOARD_COPY 1
RETURN

Paste:
TIMER_OFF 199
2D_IMAGE_COPY 98,0,0,WIDTH(1),HEIGHT(1): ' sauvegarde initiale pour undo éventuel
' CLIPBOARD_PASTE 1: return
EXECUTE_WAIT iview$ + " /clippaste /convert=" + fr$
fi$ = fr$: GOSUB Dimima: ' -> wi%, hi%
PICTURE 200: TOP 200, -2000: WIDTH 200,wi%: HEIGHT 200, hi%: FILE_LOAD 200, fr$
FILE_DELETE fr$
i% = WIDTH(200): IF i% > lp1% THEN i% = lp1%: ' paste tronqué à la taille de la page
j% = HEIGHT(200): IF j% > hp1% THEN j% = hp1%
2D_TARGET_IS 200: 2D_IMAGE_COPY 97,0,0,i%,j%
2D_TARGET_IS 1: DELETE 200
2D_IMAGE_PASTE 97,0,0
TIMER_ON 199
RETURN

Aide:
TIMER_OFF 199
DATA "AIDE"
DATA "1_ Paramètres généraux","2_ Figures","3_ Textes","4_ Images","5_ Grille repère"
DATA "6_ Lire/Sauvegarder/Imprimer","7_ Copier/Coller","F"

DATA "1_ ","- Cliquer sur les boutons 'Couleur de trait', 'Couleur rempliss', 'Couleur de texte'"
DATA "puis sur la couleur désirée pour choisir respectivement la couleur de tracé, la"
DATA "couleur de remplissage des figures fermées et la couleur des textes."
DATA "On peut également choisir la couleur n'importe où dans la feuille (fonction pipette),"
DATA "ou dans une palette de 216 couleurs: palette Html (bouton '+ de couleurs...')."
DATA "","- Choisir également l'épaisseur des tracés ('Épaisseur de trait')."
DATA "","- Cocher le type d'élément à tracer ('Figure')."
DATA "","(La zone hachurée en périphérie représente la zone non imprimable de la feuille).","F"
DATA "2_ ","Tous les tracés ci-dessous seront effectuées en fonction des paramètres couleur et"
DATA "épaisseur définis plus haut."
DATA "","- Trait: cliquer sur la feuille le point de départ du trait, puis, en maintenant le"
DATA "bouton de la souris enfoncé, tirer le trait jusqu'au point d'arrivée, et relâcher."
DATA "","- Rectangle: cliquer le coin supérieur droit du rectangle, puis tirer la souris vers"
DATA "le coin opposé, relâcher."
DATA "","- Cercle: cliquer le centre, tirer la souris jusqu'à la circonférence désirée, relâcher."
DATA "","- Polygone: mode opératoire identique au trait, tracer les côtés successivement."
DATA "","- Tracé libre: cliquer le point de départ, faire le tracé en maintenant le bouton"
DATA "de la souris enfoncé, relâcher à la fin du tracé."
DATA "","- Remplir une figure fermée: cliquer un point quelconque à l'intérieur de la figure,"
DATA "elle sera peinte de la couleur de remplissage. Attention, s'il y a une ouverture dans"
DATA "le tracé, toute la feuille sera peinte ! on voit là l'utilité de la touche 'Undo'.","F"

DATA "3_ ","  - Cliquer à l'emplacement désiré pour le texte: une boîte de saisie du texte"
DATA "s'affiche, dans laquelle on peut choisir la police, la taille des caractères, et les"
DATA "enrichissements, la couleur ayant été choisie préalablement (voir plus haut)."
DATA "","  - On peut 'coller' dans la zone de saisie le contenu du clipboard (bouton 'Coller')"
DATA "","  - En fin de saisie, on a le choix de valider ou non le texte. Si oui, le texte sera"
DATA "inséré à l'endroit prévu avec ses attributs.", "F"

DATA "4_ ","Choisir préalablement l'image en cliquant dans la zone 'Image à insérer',"
DATA "choisir une image (bmp ou jpg). Ses dimensions (pixels et millimètres sur la feuille)"
DATA "seront affichées."
DATA "On peut choisir de réduire ou agrandir l'image: cocher 'Réduction', choisir le"
DATA "rapport de réduction (de 10% à 300%), puis cliquer le bouton 'OK' pour effectuer"
DATA "l'opération. Les nouvelles dimensions (pixels et millimètres) seront affichées."
DATA "Cliquer sur la feuille à l'emplacement désiré pour le coin supérieur gauche de l'image."
DATA "","Après création d'une figure, texte, ou image, on a la possibilité d'annuler l'opération"
DATA "à l'aide du bouton 'Undo' (une seule possibilité de retour arrière).","F"

DATA "5_ ","A l'aide des options 'Grille', on peut faire apparaître en superposition de la feuille une"
DATA "grille de repérage, au pas de 5 mm ou 10 mm, qui permettra le positionnement ou"
DATA "l'alignement précis des diverses figures."
DATA "Cette grille restera en surimpression sur la feuille jusqu'au choix de l'option 'Off'."
DATA "","En cochant 'Attraction grille', le point cliqué se positionnera à l'intersection la plus proche.","F"

DATA "6_ ","Bouton 'Sauvegarder': on peut sauvegarder l'ensemble de l'image de la feuille dans"
DATA "un fichier image au format BMP ou JPG, pour relecture ultérieure: bouton 'Ouvrir'"
DATA "","Bouton 'Imprimer': impression de l'image sur l'imprimante implicite Windows.","F"

DATA "7_ ","Boutons 'Copier' et 'Coller': permettent d'échanger avec le clipboard l'ensemble des"
DATA "dessins de la feuille. On peut également 'coller' une image quelconque contenue dans le"
DATA "clipboard, issue d'un autre logiciel. Cette image sera 'collée' dqns le coin supérieur"
DATA "gauche de la feuille. Si cette image dépasse les dimensions de la feuille, elle sera"
DATA "tronquée par le programme.","F"

DIM fm_h%, wf_h%, hf_h%, aa_h$, bb_h$, hr_h%
fm_h% = 500
FORM fm_h%: WIDTH fm_h%, 250: BORDER_SMALL fm_h%: ON_CLOSE fm_h%, Sor_Aid
wf_h% = WIDTH(fm_h%): hf_h% = HEIGHT(fm_h%)
ALPHA fm_h%+1: PARENT fm_h%+1, fm_h%
LIST fm_h%+2: PARENT fm_h%+2,fm_h%: TOP fm_h%+2,20: WIDTH fm_h%+2, wf_h%-16: HEIGHT fm_h%+2,hf_h%-54
COLOR fm_h%+2,255,255,180
PRINT_TARGET_IS fm_h%: FONT_SIZE fm_h%, 10: FONT_BOLD fm_h%: FONT_NAME fm_h%,"Comic Sans MS"
aa_h$ = "- AIDE -": PRINT_LOCATE (WIDTH(fm_h%+2)-TEXT_WIDTH(aa_h$,fm_h%+1))/2,2: PRINT aa_h$
RESTORE: READ aa_h$
WHILE aa_h$ <> "AIDE": READ aa_h$: END_WHILE
READ aa_h$
WHILE aa_h$ <> "F"
    ITEM_ADD fm_h%+2, "    " + aa_h$: READ aa_h$
END_WHILE
HEIGHT fm_h%+2, TEXT_HEIGHT(aa_h$,fm_h%)*COUNT(fm_h%+2)+10: HEIGHT fm_h%, HEIGHT(fm_h%+2)+55
' ON_CLICK fm_h%+2, Rub_Aid
FORM fm_h%+5: TOP fm_h%+5,0: LEFT fm_h%+5,250: WIDTH fm_h%+5,640: HEIGHT fm_h%+5,800: BORDER_SMALL fm_h%+5: HIDE fm_h%+5
FONT_NAME fm_h%+5, "Comic Sans MS"
COLOR fm_h%+5, 128,255,128
ALPHA fm_h%+6: PARENT fm_h%+6,fm_h%+5
LIST fm_h%+7: PARENT fm_h%+7,fm_h%+5: TOP fm_h%+7,20: LEFT fm_h%+7,5:WIDTH fm_h%+7, WIDTH(fm_h%+5)-26: HEIGHT fm_h%+7,HEIGHT(fm_h%+5)-54
ON_CLICK fm_h%+2, Rub_Aid
END
Sor_Aid:
PRINT_TARGET_IS 0: DELETE fm_h%+5: DELETE fm_h%
FREE fm_h%: FREE wf_h%: FREE hf_h%: FREE aa_h$: FREE bb_h$: FREE hr_h%
TIMER_ON 199
RETURN
Rub_Aid:
aa_h$ = TRIM$(ITEM_INDEX$(fm_h%+2))
SHOW fm_h%+5
PRINT_TARGET_IS fm_h%+5: FONT_SIZE fm_h%+5, 10: FONT_BOLD fm_h%+5
PRINT_LOCATE 0,2: PRINT STRING$(150, " ")
PRINT_LOCATE (WIDTH(fm_h%+7)-TEXT_WIDTH(aa_h$,fm_h%+5))/2,2: PRINT aa_h$
bb_h$ = LEFT$(aa_h$,3)
RESTORE: READ aa_h$
WHILE aa_h$<>bb_h$: READ aa_h$: END_WHILE
hr_h% = TEXT_HEIGHT(aa_h$,fm_h%+5)
CLEAR fm_h%+7
READ aa_h$
WHILE aa_h$<>"F"
    ITEM_ADD fm_h%+7, aa_h$: READ aa_h$
END_WHILE
hr_h% = hr_h%*COUNT(fm_h%+7)+10: HEIGHT fm_h%+7, hr_h%: HEIGHT fm_h%+5,HEIGHT(fm_h%+7)+80
RETURN

déjà une petite mise à jour pour le textes (mais ce n'est pas aussi bien que je le voudrais quand même)

Edit 21h30: remplissage des figures fermées
Edit 11/02: ajout de la fonction pipette. (choix des couleurs)
Edit 12/02: ajout de polygone et de l'attraction grille
Edit 13/02: ajout d'une palette de 216 couleurs + conversion pixels/mm (largeur de trait).
reédit " : correction d'un bug signalé par sergeauze, merci à lui !
Edit 14/02: permanence de la grille, sur demande
Edit 20/02: on 'tire' les figures à la souris au lieu de définir départ et arrivée.
Edit 21/02: amélioration (j'espère !) du s/p d'aide
Edit 22/02: ne pas effacer les règles en cas d'insertion de textes.


Dernière édition par JL35 le Mer 22 Fév 2012 - 17:53, édité 13 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
exdragon

avatar

Nombre de messages : 601
Date d'inscription : 05/01/2012

MessageSujet: Re: Composition graphique d'une page A4   Jeu 9 Fév 2012 - 18:48

Bravo, ça pourra servir à imprimer un peu plus personnalisé Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
lodchjo

avatar

Nombre de messages : 162
Age : 46
Localisation : Anvers
Date d'inscription : 26/12/2011

MessageSujet: Re: Composition graphique d'une page A4   Jeu 9 Fév 2012 - 20:42

JL,
C'est très bien fait! J'aime bien l'option "undo" et les petits croix pour dessiner les objets cercle, rectangle, ..., c'est très bien fait, bravo!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://lode.weebly.com
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Jeu 9 Fév 2012 - 22:50

Tu as vu, j'ai un peu développé ton idée de départ !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
lodchjo

avatar

Nombre de messages : 162
Age : 46
Localisation : Anvers
Date d'inscription : 26/12/2011

MessageSujet: Re: Composition graphique d'une page A4   Jeu 9 Fév 2012 - 23:00

Oui, et t'as vachement bien fait! cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://lode.weebly.com
Jicehel

avatar

Nombre de messages : 5873
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Composition graphique d'une page A4   Jeu 9 Fév 2012 - 23:26

Superbe Smile J'adore
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Jeu 9 Fév 2012 - 23:32

Merci les enfants !
Puisque c'est comme ça, ajout d'un nouvel outil: le remplissage d'une figure fermée quelconque avec la couleur de remplissage.
Attention, si la figure n'est pas bien fermée, ça fuit partout sur la feuille. Mais rassurez-vous, ça ne coule pas en dehors de l'écran, s'il est bien étanche.
D'où l'utilité de la touche 'Undo' ! Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5873
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Composition graphique d'une page A4   Ven 10 Fév 2012 - 12:10

Merci, ça manquait, mais je n'ai pas osait demander. Je fais mon timide ... Mais bon déjà un outil de cette qualité avec si peu de ligne, je trouvais ça génial. D'ici à ce que Klaus l'intègre dans son EDI ... il n'y a qu'un pas ... mais bon, c'est complémentaire, ça n'a pas la même fonction, mais vous faites du super boulot en ce moment, vous allez finir par me donner des remords de ne pas bosser en ce moment ... Merci à vous
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Ven 10 Fév 2012 - 15:54

Non, ça n'a pas sa place dans un EDI, c'est autre chose.
Mais bon, c'était amusant à faire en Panoramic, en tout cas merci pour tes appréciations, c'est sympa ! Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 19:18

Ajout de la fonction pipette dans le choix des couleurs: on peut prélever une couleur quelconque dans la feuille (par exemple dans une image importée) en cliquant dessus au lieu de cliquer dans une des 16 couleurs de base, au moment du choix.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
exdragon

avatar

Nombre de messages : 601
Date d'inscription : 05/01/2012

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 19:42

Pas mal cette option !
ça va devenir un super outil ton truc ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5873
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 20:12

Marche nickel Smile

Hum, je ne sais pas si ça te parait une bonne idée, mais ça ne te tenterait pas de faire un bouton "sauvegarder en code" pour faire une sauvegarde du dessin sous forme de code Panoramic en plus de la version image ? Pas sûr que ça aille dans le sens où tu souhaites aller mais comme tu as tout pour le faire, ça peut être une idée, à voir selon toi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1109
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 20:28

Je vois que mon générateur de code dans 3d_world donne des idées à tous le monde! Ce ne serait pas une mauvaise idée de pouvoir récupérer la composition en code Panoramic! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 20:29

Rassure-toi Jicehel, je n'ai pas d'idées préconçues, et je n'ai pas de sens où je souhaite aller en particulier ! bien au contraire, toutes les suggestions sont les bienvenues, ça prouve au moins un certain intérêt.

Cela dit, je ne vois pas trop ce que tu entends par une sauvegarde de dessin en code Panoramic ??? un morceau de code qui reproduirait la fabrication des figures élémentaires ?
Mais dans ce cas, ça élimine les images importées...
Et je ne vois pas trop l'intérêt par rapport à une sauvegarde en bmp ou jpg... ou alors je n'ai rien compris à ta remarque, ce qui est fort possible Very Happy


PS on s'est croisés bignono, du coup suite à ta remarque je commence à y voir plus clair, mais comme je n'avais pas étudié ton code (je ne suis pas très jeux)...
(pour le moment, pardonnez-moi, mais c'est l'heure du chanoine Kir).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5873
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 22:15

Bon apéro Smile
Oui, l'idée, c'est de pouvoir redessiner le dessin depuis un programme
(Ca permet, par exemple de dessiner un bonhomme, dans un décors, d'effacer les jambes, les bras et de récupérer les informations depuis le générateur de code comme celui de Lodcho (histoire de fusionner son programme vachement pratique et le tien qui offre plus de possibilités et une superbe interface Smile )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 22:37

Ouh là ! ça me paraît tout à fait autre chose, et pas si simple que ça à faire.
Ça veut dire qu'il faut archiver au fur et à mesure toutes les actions qui sont exécutées pour faire le dessin, pour pouvoir les reproduire plus tard, puisque tu ne peux pas prendre le dessin fini et reconstituer après coup les commandes pour le faire.

Tu as une image dessinée, après éventuellement pas mal de tâtonnements (dessins, changements de couleurs, retours en arrière, effacements, etc.), ça peut faire beaucoup de lignes de code inutiles pour quelques lignes utiles. Et si le dessin est assez élaboré, ça peut faire beaucoup de lignes !
Je pense qu'il vaudrait mieux refaire un programme dans cette optique, le mien est vraiment spécialisé pour dessiner une page A4 comme son nom l'indique, et c'est tout, ce n'est pas un programme de dessin universel.

Et puis, dans l'optique dont tu parles (c'est vrai que je n'ai pas creusé la question non plus), je ne vois pas trop l'intérêt de ce générateur de code pour générer un dessin, par rapport à une image jpg ou bmp ?
Si c'est pour que l'image soit intégrée au code (éviter d'avoir une ressource externe: le fichier image), pour ma part il me semble que j'essaierais plutôt de convertir l'image en binaire et de l'intégrer au code sous forme de datas, par exemple (j'ai déjà fait quelque chose comme ça ici, autrefois, mais c'étaient de petites images).
Ou alors je n'ai rien compris ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5873
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 23:10

Non, tu as raison, ce n'est pas la même optique que celle de Modcho Smile Il y a juste plusieurs programmes actuellement qui sont limitrophes mais difficilement fusionnables. Laisses tomber cette idée et continues d'ajouter des fonctions sympa en tant que logiciel de dessin, retouche de photos, présentation, ... ^^
Par contre, dans les évolutions éventuelles, tu pourrais peut être mettre plein en case à cocher pour gagner des lignes ou faire un menu sur la figure pour pouvoir ajouter un polygone (le dernier point étant forcé par le programme pour retomber sur le premier et pouvoir remplir la figure) et mettre

Pareil, en fonction sympa, il pourrait y avoir une coche (Forcer grille) pour que le point du clic soit l'intersection la plus proche sur la grille (ce qui permet de faciliter les lignes droites ...) avec éventuellement une personnalisation de la taille de la grille ...
Bon toujours dans les idées d'amélioration, le copier, couper, coller d'une zone (rectangle pour simplifier avec ou sans transparence par le noir)
Après, éventuellement par le strech, pourquoi ne pas permettre la déformation de la zone copiée, par exemple ?

Bon, voilà quelques pistes, à toi de voir si elle te semble faisable et interessante pour ton prog Smile Bon courage
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 23:39

Et voilà, on met un petit truc pour s'amuser, et on se retrouve avec 6 mois de boulot devant soi !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5873
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Composition graphique d'une page A4   Sam 11 Fév 2012 - 23:44

Mdr, enfin, tu n'as pas d'obligation, on veille juste à ce que tu ne sois pas bridé par une panne d'idée Smile !! (Et puis j'ose espérer que tu continues de t'amuser en le faisant, sinon, ça n'en vaudrait plus la peine !! )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Composition graphique d'une page A4   Dim 12 Fév 2012 - 0:03

Salut
Merci bien pour ton logiciel que je trouve tres sympa.
Mais j'ai un petit pb ligne 12 ;le chemin vers irfan view n'est pas reconnu
Ni dans ton code ni , lorsque j'indique son chemin d'acces sur mon ordi.

je suis sous vista
message d'erreur: windows ne trouve pas C:\program
Surement une erreur de debutant de ma part
Je suis impatient de pouvoir utiliser la fonction image.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Dim 12 Fév 2012 - 0:06

Encore heureux qu'il n'y ait pas d'obligation, ni de délai ni de résultat !
Et rassure-toi, je m'amuse toujours autant Very Happy sinon je ne le ferais pas, ce n'est pas comme au boulot avec le patron derrière qui te demande si tu as bientôt fini ? ou pour combien de temps tu en as pour trouver l'erreur (j'ai connu ça...).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
exdragon

avatar

Nombre de messages : 601
Date d'inscription : 05/01/2012

MessageSujet: Re: Composition graphique d'une page A4   Dim 12 Fév 2012 - 0:10

Citation :
Et voilà, on met un petit truc pour s'amuser, et on se retrouve avec 6 mois de boulot devant soi !
Lol
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Dim 12 Fév 2012 - 0:12

@sergeauze, bizarre, enfin ça ne doit pas être grave.
Moi j'ai donc:
Code:
iview$ = "C:\Progra~2\Irfanv~1\i_view32.exe "
ça correspond à C:'Program Files (x86)\... parce que je suis sous windows 7, sous Vista tu dois mettre:
Code:
iview$ = "C:\Progra~1\Irfanv~1\i_view32.exe "
qui correspond à C:\Program Files\...
Tu peux mettre aussi
"C:\Progra~1\IrfanView\i_view86 ", mais vérifie quand même que c'est bien le chemin de IrfanView (avec l'explorateur Windows par exemple)... tiens-moi au courant stp.

Je relis ce que tu as mis, tu as dû écrire comme chemin "C:\Program Files\etc...", or il ne faut pas d'espaces dans le chemin, Panoramic n'aime pas et s'arrête au premier espace, et Windows ne récupère que "C:\Program", c'est pour ça que je mets en version courte.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10413
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Composition graphique d'une page A4   Dim 12 Fév 2012 - 0:17

@Sergeauze:
La ligne 12 est ceci:
Code:
iview$ = "C:\Progra~2\Irfanv~1\i_view32.exe "

Elle contient le chemin vers l'exécutable de IrfanView en mode DOS 8.3 (8 caractères de nom et 3 caractères d'extension). Les règles de construction de ces noms sont complexes et difficilement reproductibles à la main, car il y a un tas de cas particuliers. Il y a des utilitaires gratuits. Pour ma part, j'utilise Dosname (freeware) qui marche parfaitement.

Construits le nom 8.3 correspondant à ta config et essaie avec ça. Juste une piste, avant d'utiliser un logiciel comme celui ci-dessus: ty peux essayer Progra~1 à la place de Progra~2, juste pour voir. Mais vérifie que ta structure de répertoire correspond à l'hierarchie indiquée dans la ligne 12.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 6069
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Composition graphique d'une page A4   Dim 12 Fév 2012 - 0:20

Tu as raison Klaus, mais c'est Progra~1 pour tout le monde, sauf Windows 7 où c'est Progra~2, pour le reste IrfanView s'installe toujours au même endroit.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Composition graphique d'une page A4   

Revenir en haut Aller en bas
 
Composition graphique d'une page A4
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 4Aller à la page : 1, 2, 3, 4  Suivant
 Sujets similaires
-
» Composition graphique d'une page A4
» [Annulée] Demande de page d'aceuil
» [Annulée] Demande une page HTML
» [résolu] Lien dans image survolée vers page html
» lien vers page php

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: