JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Dessin sur un picture Mer 29 Nov 2017 - 15:14 | |
| Une petite sub (enfin, pas loin de 300 lignes quand même) pour dessiner des figures élémentaires ou apposer du texte sur un picture contenant ou non une image. A adapter: - dans le programme appelant, l'image contenue dans le picture - dans la sub elle-même: le répertoire (rtm$) qui contiendra les fichiers temporaires de manoeuvre. Je n'ai pas mis dans l'appelant la sauvegarde du résultat, mais c'est juste un exemple élémentaire, à compléter. - Code:
-
LABEL Quit,Dessin WIDTH 0,660: HEIGHT 0,550: COLOR 0,180,255,255: BORDER_SMALL 0 PICTURE 1: WIDTH 1,640: HEIGHT 1,480 BUTTON 2: TOP 2,HEIGHT(1)+5: LEFT 2,WIDTH(0)/2-40 CAPTION 2,"Dessin": ON_CLICK 2,Dessin BUTTON 3: TOP 3,TOP(2): LEFT 3,40: CAPTION 3,"Sauvegarder" BUTTON 4: TOP 4,TOP(3): LEFT 4,WIDTH(0)-120: CAPTION 4,"Quitter": ON_CLICK 4,Quit FILE_LOAD 1,"C:\GRAPH\JPG\Goldgate.jpg": ' image de fond End ' =============================================== Quit: TERMINATE RETURN Dessin: Despic(1) RETURN ' ============================================================================== SUB Despic(obj%) ' Dessin et texte sur l'objet obj% (picture) IF LABEL("Exdes") = 0 THEN LABEL Exdes IF LABEL("Exdes1") = 0 THEN LABEL Exdes1 IF LABEL("Chcoul") = 0 THEN LABEL Chcoul IF LABEL("Chcoul1") = 0 THEN LABEL Chcoul1 IF LABEL("Choutil") = 0 THEN LABEL Choutil IF LABEL("Chpol") = 0 THEN LABEL Chpol IF LABEL("Chpol1") = 0 THEN LABEL Chpol1 IF LABEL("Apptxt") = 0 THEN LABEL Apptxt IF LABEL("Decal") = 0 THEN LABEL Decal IF LABEL("Desanu") = 0 THEN LABEL Desanu IF LABEL("Findes") = 0 THEN LABEL Findes DIM_LOCAL rtm$,ff%,i%,j%,st%,sp%,cl%,co%,ct%,cd%,wc%,hc%,o1%,pc%,r%,g%,b%,x%,y%,fd%,out% DIM_LOCAL x1%,y1%,pt%,pr%,rt%,gt%,bt%,rr%,gr%,br%,ray%,im%,fsav$,wo%,ho%,xs1%,wf% DIM_LOCAL f2d$,ftx$,pol$,sz%,ed%,fa%,lp%,a$,s2d%,pic%,ck% wo% = WIDTH(obj%): ho% = HEIGHT(obj%): ' dimensions de l'objet cible rtm$ = "Z:": ' <======= Répertoire des fichiers provisoires fsav$ = rtm$+"Fsave.bmp" f2d$ = rtm$+"S2d.bmp" ftx$ = rtm$+"Tx.bmp" ff% = 850 FORM ff%: BORDER_SMALL ff%: TOP ff%,TOP(obj%): LEFT ff%,LEFT(obj%)+WIDTH(obj%)+20 WIDTH ff%,300: HEIGHT ff%,370: FONT_BOLD ff%: COLOR ff%,64,255,255 ON_CLOSE ff%,Findes: CAPTION ff%," - OUTILS DE DESSIN -" wf% = WIDTH_CLIENT(ff%) im% = ff%+1: IMAGE im% ' ==================== cl%=im%+1: CONTAINER cl%: PARENT cl%,ff%: TOP cl%,0 WIDTH cl%,wf%: HEIGHT cl%,90: CAPTION cl%,"COULEURS :" COLOR cl%,255,255,164 i%=cl%+1: PICTURE i%: PARENT i%,cl%: TOP i%,15: LEFT i%,2: WIDTH i%,WIDTH(cl%)-4 HEIGHT i%,40: 2D_TARGET_IS i%: wc% = WIDTH(i%)/8: hc% = HEIGHT(i%)/2: pc% = i% 2D_FILL_COLOR 0,0,0: 2D_RECTANGLE 0,0,wc%,hc%: ' Noir 2D_FILL_COLOR 0,0,128: 2D_RECTANGLE wc%,0,2*wc%,hc%: ' Bleu 2D_FILL_COLOR 0,128,0: 2D_RECTANGLE 2*wc%,0,3*wc%,hc%: ' Vert 2D_FILL_COLOR 0,128,128: 2D_RECTANGLE 3*wc%,0,4*wc%,hc%: ' Cyan 2D_FILL_COLOR 128,0,0: 2D_RECTANGLE 4*wc%,0,5*wc%,hc%: ' Rouge 2D_FILL_COLOR 128,0,128: 2D_RECTANGLE 5*wc%,0,6*wc%,hc%: ' Magenta 2D_FILL_COLOR 128,64,128: 2D_RECTANGLE 6*wc%,0,7*wc%,hc%: ' Brun 2D_FILL_COLOR 192,192,192: 2D_RECTANGLE 7*wc%,0,8*wc%,hc%: ' Blanc 2D_FILL_COLOR 128,128,128: 2D_RECTANGLE 0,hc%,wc%,2*hc%: ' Gris 2D_FILL_COLOR 0,0,255: 2D_RECTANGLE wc%,hc%,2*wc%,2*hc%: ' Bleu clair 2D_FILL_COLOR 0,255,0: 2D_RECTANGLE 2*wc%,hc%,3*wc%,2*hc%: ' Vert clair 2D_FILL_COLOR 0,255,255: 2D_RECTANGLE 3*wc%,hc%,4*wc%,2*hc%: ' Cyan clair 2D_FILL_COLOR 255,0,0: 2D_RECTANGLE 4*wc%,hc%,5*wc%,2*hc%: ' Rouge clair 2D_FILL_COLOR 255,0,255: 2D_RECTANGLE 5*wc%,hc%,6*wc%,2*hc%: ' Magenta clair 2D_FILL_COLOR 255,255,0: 2D_RECTANGLE 6*wc%,hc%,7*wc%,2*hc%: ' Jaune 2D_FILL_COLOR 255,255,255: 2D_RECTANGLE 7*wc%,hc%,8*wc%,2*hc%: ' Blanc intense ON_CLICK pc%,Chcoul i%=i%+1: ALPHA i%: PARENT i%,cl%: TOP i%,TOP(i%-1)+42: LEFT i%,2 CAPTION i%,"Couleur"+CHR$(10)+" trait:" pt%=i%+1: PICTURE pt%: PARENT pt%,cl%: TOP pt%,TOP(i%)+3: LEFT pt%,50: ' couleur trait WIDTH pt%,35: HEIGHT pt%,22: COLOR pt%,0,0,0 i%=pt%+1: ALPHA i%: PARENT i%,cl%: TOP i%,TOP(i%-2): LEFT i%,LEFT(pt%)+40 CAPTION i%,"Épaiss."+CHR$(10)+" trait:" st%=i%+1: SPIN st%: PARENT st%,cl%: TOP st%,TOP(pt%): LEFT st%,LEFT(i%)+45: WIDTH st%,40 MIN st%,1: MAX st%,20: POSITION st%,1 i%=st%+1: ALPHA i%: PARENT i%,cl%: TOP i%,TOP(i%-2): LEFT i%,LEFT(i%-1)+50 CAPTION i%,"Couleur"+CHR$(10)+"Rempliss." pr%=i%+1: PICTURE pr%: PARENT pr%,cl%: TOP pr%,TOP(pt%): LEFT pr%,LEFT(i%)+55: ' couleur de remplissage WIDTH pr%,WIDTH(pt%): HEIGHT pr%,HEIGHT(pt%): COLOR pr%,192,192,192 ON_CLICK pt%,Chcoul1: ON_CLICK pr%,Chcoul1 ' ==================== co%=pr%+1: CONTAINER co%: PARENT co%,ff%: TOP co%,TOP(cl%)+HEIGHT(cl%)+3 WIDTH co%,wf%: HEIGHT co%,60: CAPTION co%,"OUTILS :" COLOR co%,255,255,164 out% = 1: wc% = WIDTH(co%)/9 i%=co%+1: PICTURE i%: PARENT i%,co%: TOP i%,18: LEFT i%,4: WIDTH i%,wc%: ' Point HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_COLOR 255,0,0: 2D_PEN_WIDTH 2 2D_RECTANGLE 1,1,wc%,wc% 2D_PEN_COLOR 0,0,0: 2D_PEN_WIDTH 3: 2D_CIRCLE wc%/2,wc%/2,2 i%=i%+1: PICTURE i%: PARENT i%,co%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+wc%+3: ' Trait HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_WIDTH 2: 2D_RECTANGLE 1,1,wc%,wc% 2D_PEN_WIDTH 2: 2D_LINE 5,wc%-7,wc%-5,7 i%=i%+1: PICTURE i%: PARENT i%,co%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+wc%+3: ' Rectangle vide HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_WIDTH 2: 2D_RECTANGLE 1,1,wc%,wc% 2D_PEN_WIDTH 2: 2D_RECTANGLE 5,8,wc%-5,wc%-8 i%=i%+1: PICTURE i%: PARENT i%,co%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+wc%+3: ' Rectangle plein HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_WIDTH 2: 2D_RECTANGLE 1,1,wc%,wc% 2D_PEN_WIDTH 2: 2D_FILL_COLOR 192,192,192: 2D_RECTANGLE 5,8,wc%-5,wc%-8 i%=i%+1: PICTURE i%: PARENT i%,co%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+wc%+3: ' Cercle vide HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_WIDTH 2: 2D_RECTANGLE 1,1,wc%,wc% 2D_PEN_WIDTH 2: 2D_CIRCLE wc%/2,wc%/2,wc%/3 i%=i%+1: PICTURE i%: PARENT i%,co%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+wc%+3: ' Cercle plein HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_WIDTH 2: 2D_RECTANGLE 1,1,wc%,wc% 2D_PEN_WIDTH 2: 2D_FILL_COLOR 192,192,192: 2D_CIRCLE wc%/2,wc%/2,wc%/3 i%=i%+1: PICTURE i%: PARENT i%,co%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+wc%+3: ' Remplissage HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_WIDTH 2: 2D_RECTANGLE 1,1,wc%,wc% 2D_PEN_WIDTH 2: 2D_LINE 8,4,wc%-4,10: 2D_POLY_TO wc%-8,wc%-10 2D_POLY_TO 4,wc%-16: 2D_POLY_TO 8,4: 2D_LINE wc%-6,wc%-16,5,wc%-16 2D_POLY_TO 5,wc%-5: 2D_PEN_WIDTH 3: 2D_POLY_TO 16,wc%-5 i%=i%+1: PICTURE i%: PARENT i%,co%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+wc%+3: ' Texte HEIGHT i%,wc%: 2D_TARGET_IS i%: 2D_PEN_WIDTH 2: 2D_RECTANGLE 1,1,wc%,wc% PRINT_TARGET_IS i%: FONT_BOLD i%: FONT_SIZE i%,12: PRINT_LOCATE 1,5 PRINT "Txt": 2D_FILL_OFF: 2D_RECTANGLE 1,1,wc%,wc% FOR j% = co%+1 TO i%: ON_CLICK j%,Choutil: NEXT j% ' ==================== ct%=i%+1: CONTAINER ct%: PARENT ct%,ff%: TOP ct%,TOP(co%)+HEIGHT(co%)+3 WIDTH ct%,wf%: HEIGHT ct%,90: CAPTION ct%,"TEXTE (couleur trait/couleur fond) :" COLOR ct%,255,255,164 i%=ct%+1: EDIT i%: PARENT i%,ct%: TOP i%,15: WIDTH i%,wf%: HEIGHT i%,25 pol$ = "Arial": FONT_NAME i%,pol$: FONT_SIZE i%,12 i%=i%+1: ALPHA i%: PARENT i%,ct%: TOP i%,TOP(i%-1)+34: CAPTION i%,"Police:" i%=i%+1: EDIT i%: PARENT i%,ct%: TOP i%,TOP(i%-1)-4: LEFT i%,40: WIDTH i%,2*wf%/3 FONT_SIZE i%,10: TEXT i%,pol$: ON_CLICK i%,Chpol: ed%=i%: ' police i%=i%+1: SPIN i%: PARENT i%,ct%: TOP i%,TOP(i%-1): WIDTH i%,50 LEFT i%,LEFT(i%-1)+WIDTH(i%-1)+4: MIN i%,4: MAX i%,255: POSITION i%,12 i%=i%+1: CHECK i%: PARENT i%,ct%: TOP i%,TOP(ed%)+25: LEFT i%,20: CAPTION i%,"G": ck%=i% i%=i%+1: CHECK i%: PARENT i%,ct%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+35: CAPTION i%,"I" FONT_ITALIC i% i%=i%+1: CHECK i%: PARENT i%,ct%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+35: CAPTION i%,"S" FONT_UNDERLINE i% i%=i%+1: CHECK i%: PARENT i%,ct%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+50 WIDTH i%,140: CAPTION i%,"Fond transparent": MARK_ON i% FOR j% = ck% TO i%: FONT_SIZE j%,10: NEXT j% fa%=i%+1: FORM fa%: HIDE fa%: BORDER_HIDE fa%: WIDTH fa%,180: TOP fa%,TOP(ff%)+TOP(ct%)+95 LEFT fa%,LEFT(ff%)+LEFT(ed%)+8: HEIGHT fa%,500 lp%=fa%+1: LIST lp%: PARENT lp%,fa%: FULL_SPACE lp%: ON_CLICK lp%,Chpol1 i%=lp%+1: DLIST i%: FONT_NAMES_LOAD i% FOR j% = 1 TO COUNT(i%) a$ = ITEM_READ$(i%,j%): IF LEFT$(a$,1)<>"@" THEN ITEM_ADD lp%,a$ NEXT j% DELETE i%: i%=i%-1 i%=i%+1: SCENE2D i%: HIDE i%: WIDTH i%,wo%: HEIGHT i%,ho%: s2d%=i% SPRITE i% i%=i%+1: PICTURE i%: HIDE i%: pic% = i% ' ==================== cd%=i%+1: CONTAINER cd%: PARENT cd%,ff%: TOP cd%,TOP(ct%)+HEIGHT(ct%)+3 WIDTH cd%,wf%: HEIGHT cd%,48: CAPTION cd%,"DÉCALAGE :" COLOR cd%,255,255,164 i%=cd%+1: BUTTON i%: PARENT i%,cd%: TOP i%,16: WIDTH i%,25: LEFT i%,30: CAPTION i%,CHR$(231) i%=i%+1: BUTTON i%: PARENT i%,cd%: TOP i%,TOP(i%-1): WIDTH i%,25: LEFT i%,LEFT(i%-1)+30 CAPTION i%,CHR$(232) i%=i%+1: BUTTON i%: PARENT i%,cd%: TOP i%,TOP(i%-1): WIDTH i%,25: LEFT i%,LEFT(i%-1)+30 CAPTION i%,CHR$(233) i%=i%+1: BUTTON i%: PARENT i%,cd%: TOP i%,TOP(i%-1): WIDTH i%,25: LEFT i%,LEFT(i%-1)+30 CAPTION i%,CHR$(234) FOR j% = cd%+1 TO i% FONT_NAME j%,"Wingdings": FONT_SIZE j%,12: ON_CLICK j%,Decal NEXT j% sp%=i%+1: SPIN sp%: PARENT sp%,cd%: TOP sp%,TOP(sp%-1)+2: LEFT sp%,LEFT(sp%-1)+40 WIDTH sp%,40: MIN sp%,1: MAX sp%,100: POSITION sp%,1 i%=sp%+1: ALPHA i%: PARENT i%,cd%: TOP i%,TOP(i%-1)+2: LEFT i%,LEFT(i%-1)+45: CAPTION i%,"pixel(s)" ' ==================== i%=i%+1: BUTTON i%: PARENT i%,ff%: TOP i%,TOP(cd%)+HEIGHT(cd%)+5: LEFT i%,30 WIDTH i%,90: CAPTION i%,"Annul dernier": ON_CLICK i%,Desanu i%=i%+1: BUTTON i%: PARENT i%,ff%: TOP i%,TOP(i%-1): LEFT i%,wf%-105 CAPTION i%,"Fermer": ON_CLICK i%,Findes 2D_TARGET_IS obj%: x1% = -1: y1% = -1: FILE_SAVE obj%,fsav$ ON_CLICK obj%,Exdes WHILE fd% = 0: PAUSE 50: END_WHILE 2D_TARGET_IS 0: PRINT_TARGET_IS 0: IF FILE_EXISTS(fsav$) = 1 THEN FILE_DELETE fsav$ DELETE s2d%: DELETE pic%: DELETE im%: DELETE fa%: DELETE ff% EXIT_SUB ' =========== S/P =========== Exdes: 2D_TARGET_IS obj% 2D_PEN_WIDTH POSITION(st%) rt%=COLOR_PIXEL_RED(pt%,5,5): gt%=COLOR_PIXEL_GREEN(pt%,5,5): bt%=COLOR_PIXEL_BLUE(pt%,5,5) rr%=COLOR_PIXEL_RED(pr%,5,5): gr%=COLOR_PIXEL_GREEN(pr%,5,5): br%=COLOR_PIXEL_BLUE(pr%,5,5) 2D_PEN_COLOR rt%,gt%,bt% x% = MOUSE_X_LEFT_DOWN(obj%): y% = MOUSE_Y_LEFT_DOWN(obj%) CAPTION 0,"X1= "+STR$(x1%)+" Y1= "+STR$(y1%)+" X2= "+STR$(x%)+" Y2= "+STR$(y%) 2D_IMAGE_COPY im%,0,0,wo%,ho% IF out% = 1 THEN 2D_IMAGE_COPY im%,0,0,wo%,ho%: 2D_LINE x%,y%,x%,y%: xs1% = x%: x1%=-1: RETURN: ' Point IF out% = 7 THEN 2D_FLOOD x%,y%,rr%,gr%,br%: RETURN: ' Remplissage IF out% = 8 THEN GOSUB Apptxt: x1% = -1: RETURN IF x1% = -1 THEN x1% = x%: y1% = y%: RETURN: ' Point de départ, coin rectangle ou centre cercle Exdes1: 2D_IMAGE_COPY im%,0,0,wo%,ho%: ' sauvegarde préalable IF out% = 1 THEN 2D_IMAGE_COPY im%,0,0,wo%,ho%: 2D_LINE x%,y%,x%,y%: xs1% = x%: x1%=-1: RETURN: ' Point IF out% = 2 THEN 2D_LINE x1%,y1%,x%,y%: xs1% = x1%: x1% = -1: RETURN IF out% = 8 THEN GOSUB Apptxt: x1% = -1: RETURN: ' insertion texte IF out% = 3 OR out% = 5: ' rectangle ou cercle vides 2D_FILL_OFF ELSE 2D_FILL_COLOR rr%,gr%,br%: 2D_FILL_ON : ' idem, pleins END_IF IF out% = 3 OR out% = 4 2D_RECTANGLE x1%,y1%,x%,y% ELSE ray% = SQR(POWER(x%-x1%,2)+POWER(y%-y1%,2)) 2D_CIRCLE x1%,y1%,ray% END_IF xs1% = x1%: x1% = -1 RETURN ' -------------------- Chcoul: x% = MOUSE_X_LEFT_DOWN(pc%): y% = MOUSE_Y_LEFT_DOWN(pc%) r%=COLOR_PIXEL_RED(pc%,x%,y%): g%=COLOR_PIXEL_GREEN(pc%,x%,y%): b%=COLOR_PIXEL_BLUE(pc%,x%,y%) RETURN ' -------------------- Chcoul1: i% = NUMBER_CLICK: COLOR i%,r%,g%,b% IF i% = pt%: ' couleur trait 2D_PEN_COLOR r%,g%,b% ELSE 2D_FILL_COLOR r%,g%,b% END_IF RETURN ' -------------------- Choutil: ' outil out% = 1 à 8 i% = NUMBER_CLICK j% = co%+out%: 2D_TARGET_IS j%: 2D_PEN_COLOR 0,0,0: 2D_PEN_WIDTH 2: ' ancien outil 2D_FILL_OFF: 2D_RECTANGLE 1,1,wc%,wc% out% = i%-co%: 2D_TARGET_IS i%: 2D_PEN_COLOR 255,0,0: 2D_PEN_WIDTH 2: ' nouvel outil 2D_FILL_OFF: 2D_RECTANGLE 1,1,wc%,wc% 2D_TARGET_IS obj% RETURN ' -------------------- Chpol: SHOW fa% RETURN ' -------------------- Chpol1: TEXT ed%,ITEM_INDEX$(lp%): FONT_NAME ct%+1,TEXT$(ed%) HIDE fa% RETURN ' -------------------- Apptxt: ' Apposition du texte IF CHECKED(ck%+3) = 0: ' Texte sur fond de couleur (= couleur de remplissage) PRINT_TARGET_IS obj%: FONT_NAME obj%,TEXT$(ed%): FONT_SIZE obj%, POSITION(ed%+1) FONT_COLOR obj%,rt%,gt%,bt% FONT_BOLD_OFF obj%: FONT_ITALIC_OFF obj%: FONT_UNDERLINE_OFF obj% IF CHECKED(ck%) = 1 THEN FONT_BOLD obj% IF CHECKED(ck%+1) = 1 THEN FONT_ITALIC obj% IF CHECKED(ck%+2) = 1 THEN FONT_UNDERLINE obj% 2D_TARGET_IS obj%: 2D_FILL_COLOR rr%,gr%,br%: ' couleur de fond PRINT_LOCATE x%,y%: PRINT TEXT$(ct%+1) ELSE ' Texte sur fond transparent FILE_SAVE obj%,f2d$: FILE_LOAD s2d%,f2d$: ' -> Scene2d 2D_TARGET_IS pic%: COLOR pic%,0,0,0: CLS PRINT_TARGET_IS pic%: FONT_NAME pic%,TEXT$(ed%): FONT_SIZE pic%, POSITION(ed%+1) FONT_COLOR pic%,rt%,gt%,bt%: IF rt%=0 AND gt%=0 AND bt%=0 THEN FONT_COLOR pic%,9,9,9 FONT_BOLD_OFF pic%: FONT_ITALIC_OFF pic%: FONT_UNDERLINE_OFF pic% IF CHECKED(ck%) = 1 THEN FONT_BOLD pic% IF CHECKED(ck%+1) = 1 THEN FONT_ITALIC pic% IF CHECKED(ck%+2) = 1 THEN FONT_UNDERLINE pic% a$ = TEXT$(ct%+1): i% = TEXT_WIDTH(a$,pic%): j% = TEXT_HEIGHT(a$,pic%) WIDTH pic%,i%: HEIGHT pic%,j%: 2D_FILL_COLOR 0,0,0: PRINT a$: FILE_SAVE pic%,ftx$ SPRITE_FILE_LOAD s2d%,ftx$: FILE_DELETE ftx$ SPRITE_POSITION s2d%,x%,y% SNAPSHOT s2d%,f2d$ FILE_LOAD obj%,f2d$ FILE_DELETE f2d$ 2D_TARGET_IS obj% END_IF RETURN ' -------------------- Decal: ' décalage de la dernière insertion i% = NUMBER_CLICK j% = POSITION(sp%): ' nb de pixels de décalage x1% = xs1% IF i% = cd%+1 THEN x1% = x1%-j%: x% = x%-j% IF i% = cd%+2 THEN x1% = x1%+j%: x% = x%+j% IF i% = cd%+3 THEN y1% = y1%-j%: y% = y%-j% IF i% = cd%+4 THEN y1% = y1%+j%: y% = y%+j% 2D_IMAGE_PASTE im%,0,0 GOSUB Exdes1 RETURN ' -------------------- Desanu: 2D_TARGET_IS obj% 2D_IMAGE_PASTE im%,0,0 RETURN ' -------------------- Findes: fd% = 1 RETURN ' -------------------- END_SUB ' ============================================================================== La boîte à outils de dessin: Il n'y a pas non plus de mode d'emploi intégré, mais c'est assez simple: - choisir les couleurs (clic d'abord la couleur, puis l'élément couleur trait ou couleur remplissage), et l'épaisseur de trait - cliquer le type d'outil: trait, rectangle ou cercle vide ou plein, remplissage, texte. - cliquer successivement dans le picture le point de départ, puis le point d'arrivée (trait, rectangle), ou le centre et un point de la périphérie (cercle), ou un point de la zone à remplir. - pour du texte (une seule ligne), écrire le texte dans l'edit, choisir la police (clic), la taille, les enrichissements, et le type de fond Le texte sera de la couleur du trait, et le fond éventuel (si non transparent) de la couleur de remplissage Puis clic le point d'insertion dans le picture (coin haut gauche) - Une fois la figure tracée, il est possible de: . Annuler l'insertion ('Annul dernier'), pour recommencer ou non avec d'autres paramètres. . La décaler d'un nombre donné de pixels dans les quatre directions, plusieurs fois si nécessaire. Un point (outil 'point') est apposé immédiatement au clic, mais ne sera visible que s'il est suffisamment gros (fonction de l'épaisseur de trait). | |
|