Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Composition graphique d'une page A4 | |
|
+5bignono Jicehel lodchjo exdragon JL35 9 participants | |
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Composition graphique d'une page A4 Jeu 9 Fév 2012 - 15: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 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 - 15:53, édité 13 fois | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Composition graphique d'une page A4 Jeu 9 Fév 2012 - 16:48 | |
| Bravo, ça pourra servir à imprimer un peu plus personnalisé | |
| | | lodchjo
Nombre de messages : 162 Age : 53 Localisation : Anvers Date d'inscription : 26/12/2011
| Sujet: Re: Composition graphique d'une page A4 Jeu 9 Fév 2012 - 18: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! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Jeu 9 Fév 2012 - 20:50 | |
| Tu as vu, j'ai un peu développé ton idée de départ ! | |
| | | lodchjo
Nombre de messages : 162 Age : 53 Localisation : Anvers Date d'inscription : 26/12/2011
| Sujet: Re: Composition graphique d'une page A4 Jeu 9 Fév 2012 - 21:00 | |
| Oui, et t'as vachement bien fait! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Composition graphique d'une page A4 Jeu 9 Fév 2012 - 21:26 | |
| Superbe J'adore | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Jeu 9 Fév 2012 - 21: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' ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Composition graphique d'une page A4 Ven 10 Fév 2012 - 10: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 | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Ven 10 Fév 2012 - 13: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 ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 17: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. | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 17:42 | |
| Pas mal cette option ! ça va devenir un super outil ton truc ^^
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 18:12 | |
| Marche nickel 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. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 18: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! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 18: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 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). | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 20:15 | |
| Bon apéro 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 ) | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 20: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 ? | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 21:10 | |
| Non, tu as raison, ce n'est pas la même optique que celle de Modcho 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 Bon courage | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 21:39 | |
| Et voilà, on met un petit truc pour s'amuser, et on se retrouve avec 6 mois de boulot devant soi ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 21: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 !! (Et puis j'ose espérer que tu continues de t'amuser en le faisant, sinon, ça n'en vaudrait plus la peine !! ) | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 22: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.
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 22: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 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...). | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 22:10 | |
| - Citation :
- Et voilà, on met un petit truc pour s'amuser, et on se retrouve avec 6 mois de boulot devant soi !
Lol | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 22: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. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 22: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. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Composition graphique d'une page A4 Sam 11 Fév 2012 - 22: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. | |
| | | Contenu sponsorisé
| Sujet: Re: Composition graphique d'une page A4 | |
| |
| | | | Composition graphique d'une page A4 | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |