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 |
|
|
| Cadre pour image | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Cadre pour image Ven 8 Juin 2018 - 14:08 | |
| Pour encadrer une image quelconque: - Code:
-
DIM x%,y%,e%,coef width 0,800: height 0,640 x% = 50: y% = 40: e% = 30: ' coordonnées et épaisseur du cadre coef = 0.75 Cadre("C:\GRAPH\JPG\goldgate.jpg",x%,y%,coef,e%,255*256*256): ' cadre rouge END ' ============================================================================== SUB Cadre(f$,x%,y%,coef,e%,rgb%) ' Affichage sur la cible 2D de l'image f$ (JPG ou BMP) entourée d'un cadre ' dentelé d'épaisseur e%, couleur rgb% (65536*R+256*G+B) ' x%,y% sont les coordonnées du coin supérieur gauche de l'image elle-même. ' coef = coefficient de réduction ou d'agrandissement de l'image d'origine ' <1 réduction, >1 agrandissement (exemples: coef = 3/4, coef = 1.2) DIM_LOCAL tp%,ft$,v%(8),w%,h%,l%,p%,n%,xc%,yc%,wc%,hc%,x1%,y1%,r%,g%,b% ft$ = "Tempor.bmp": ' temporaire tp% = 920: ' objet temporaire IF UPPER$(FILE_EXTRACT_EXTENSION$(f$))<>".BMP" PICTURE tp%: LEFT tp%,2000 FILE_LOAD tp%,f$: FILE_SAVE tp%,ft$: f$ = ft$: DELETE tp% END_IF FILEBIN_OPEN_READ 9,f$ FILEBIN_POSITION 9,18: FILEBIN_BLOCK_READ 9,8,v%(0) w% = v%(0)+256*v%(1)+65536*v%(2)+16777216*v%(3) h% = v%(4)+256*v%(5)+65536*v%(6)+16777216*v%(7) FILEBIN_CLOSE 9 IF coef <> 1 w% = w%*coef: h% = h%*coef SCENE2D tp%: HIDE tp%: WIDTH tp%,w%: HEIGHT tp%,h% SPRITE tp%: SPRITE_FILE_LOAD tp%,f$: SPRITE_SCALE tp%,coef,coef SNAPSHOT tp%,ft$: f$ = ft$: DELETE tp% END_IF IF e%<(w%/50) THEN e% = w%/50 wc% = w%+2*e%: hc% = h%+2*e%: ' enveloppe du cadre l% = hc%/20: ' largeur d'une dent (arbitraire) n% = hc%/l%: hc% = n%*l%: ' ajustage des dimensions du cadre n% = wc%/l%: wc% = n%*l% xc% = x%-(wc%-w%)/2: yc% = y%-(hc%-h%)/2 p% = e%/3: ' profondeur des dents (moduler ?) 2D_PEN_WIDTH 1: 2D_LINE xc%,yc%,xc%,yc%: ' coin sumérieur gauche du cadre FOR y1% = yc% TO yc%+hc%-l% STEP l%: ' gauche 2D_POLY_TO xc%+p%,y1%+l%/2: 2D_POLY_TO xc%,y1%+l% NEXT y1% FOR x1% = xc% TO xc%+wc%-l% STEP l%: ' bas 2D_POLY_TO x1%+l%/2,yc%+hc%-p%: 2D_POLY_TO x1%+l%,yc%+hc% NEXT x1% FOR y1% = yc%+hc% TO yc%+l% STEP -1*l%: ' droite 2D_POLY_TO xc%+wc%-p%,y1%-l%/2: 2D_POLY_TO xc%+wc%,y1%-l% NEXT y1% FOR x1% = xc%+wc% TO xc%+l% STEP -1*l%: ' haut 2D_POLY_TO x1%-l%/2,yc%+p%: 2D_POLY_TO x1%-l%,yc% NEXT x1% 2D_POLY_TO xc%,yc%: ' terminer 2D_PEN_WIDTH 1: 2D_RECTANGLE x%-1,y%-1,x%+w%+1,y%+h%+1: ' intérieur du cadre (image) r% = INT(rgb%/65536): g% = BIN_AND(rgb%,65280)/256: b% = BIN_AND(rgb%,255) 2D_FLOOD x%-2,y%,r%,g%,b%: ' couleur du cadre IMAGE tp%: FILE_LOAD tp%,f$: 2D_IMAGE_PASTE tp%,x%,y%: DELETE tp% IF FILE_EXISTS(ft$) = 1 THEN FILE_DELETE ft$ END_SUB ' ============================================================================== NB: pour la sub, la position x,y et les dimensions à fournir sont celles du contenu (image). Pour encadrer n'importe quoi, un paysage, le portrait de sa belle-mère... je précise tout de suite pour les mauvaises langues que ci-dessus, malgré mon âge certain, ce n'est pas la mienne ! Edit 9/6: j'ai un peu modifié, les dimensions de l'image sont calculées dans la sub, c'est plus simple. 10/6: On fournit en paramètre de la sub le coefficient de réduction ou d'agrandissement de l'image encadrée par rapport à l'image fournie. Par exemple coef = 1/4, ou coef = 1.7 etc.
Dernière édition par JL35 le Dim 10 Juin 2018 - 16:16, édité 4 fois | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| | | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Ven 8 Juin 2018 - 21:15 | |
| Merci pour les fleurs Jean Claude, et j'ai un peu honte parce que quand je parlais de mauvaises langues j'avoue que j'ai un peu pensé à toi... | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cadre pour image Ven 8 Juin 2018 - 21:25 | |
| Tiens ! bizarre, je m'en doutais un peu. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Sam 9 Juin 2018 - 10:09 | |
| Je me doutais que tu t'en doutais... J'ai un peu modifié la sub, c'est elle qui calcule les dimensions de l'image et qui l'affiche dans le cadre (image jpg ou bmp), C'est plus simple comme ça. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cadre pour image Sam 9 Juin 2018 - 13:31 | |
| Je me doutais que tu t'en doutais que je m'en doutais... Sérieusement, c'est bien plus pratique avec le calcul automatique de la taille de l'image. J'ai pris une photo de mon appareil, mais elle sont énormes. Même réduit à 40% elle dépasse encore la taille de mon écran, mais la SUB fait le bouleau boulot quand même. Sans vouloir abuser (en réalité je m'en fout, c'est juste une formule de politesse...), çà serait super que le programme détermine lui-même la taille adéquate de l'image en fonction de l'écran et de l'encadrement. A+
Dernière édition par Jean Claude le Sam 9 Juin 2018 - 17:17, édité 1 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Sam 9 Juin 2018 - 13:58 | |
| - Citation :
- ...mais la SUB fait le bouleau quand même
euh... ça c'est pas du boulot mon ami ! Ceci dit, tu voudrais que la sub redimensionne l'image automatiquement, c'est autre chose. Dans mon truc, c'est le cadre qui s'adapte aux dimensions de l'image, si je comprends bien tu voudrais que ce soit l'image qui s'adapte au cadre... c'est un peu plus compliqué, il faudrait connaître d'avance les proportions de l'image pour fixer les proportions du cadre... Je pense que le mieux c'est de redimensionner l'image aux dimensions voulues avant d'appeler la sub de cadrage, c'est assez simple, il y a plusieurs méthodes même en panoramic pur, par exemple: - Code:
-
SUB RedimImg(f$,w%,h%,fr$) ' Redimensionner l'image f$ (BMP ou JPG) en w%,h%, résultat dans fr$ (BMP) ' Si fr$ = "", résultat dans le prese-papier ' Si w% = 0 ou h% = 0: redimensionnement proportionnel DIM_LOCAL fm$,wi%,hi%,cx,cy,op% fm$ = "Provimg.bmp" op% = 1900: ' objet provisoire IF UPPER$(FILE_EXTRACT_EXTENSION$(f$)) = ".JPG" PICTURE op%: FILE_LOAD op%,f$: FILE_SAVE op%,fm$: DELETE op%: f$ = fm$ END_IF FILEBIN_OPEN_READ 1,f$ FILEBIN_POSITION 1,18: wi% = FILEBIN_READ(1)+256*FILEBIN_READ(1) FILEBIN_POSITION 1,22: hi% = FILEBIN_READ(1)+256*FILEBIN_READ(1) FILEBIN_CLOSE 1 IF h% = 0 THEN h% = w%*hi%/wi% IF w% = 0 THEN w% = h%*wi%/hi% cx = w%/wi%: cy = h%/hi% SCENE2D op%: HIDE op%: WIDTH op%,w%: HEIGHT op%,h% SPRITE op%: SPRITE_FILE_LOAD op%,f$: SPRITE_SCALE op%,cx,cy IF fr$ = "" SNAPSHOT op%,fm$ PICTURE op%+1: FILE_LOAD op%+1,fm$: CLIPBOARD_COPY op%+1 DELETE op%+1 ELSE SNAPSHOT op%,fr$ END_IF DELETE op%: IF FILE_EXISTS(fm$) = 1 THEN FILE_DELETE fm$ END_SUB | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cadre pour image Sam 9 Juin 2018 - 17:16 | |
| C'est exactement ce qu'il faut, ensuite on encadre.
Pour l'appel de la SUB RedimImg(f$,w%,h%,fr$) on remplace w%,h% par SCREEN_X et SCREEN_Y diminué pour SCREEN_Y de la hauteur du bandeau+le bord inférieur et pour SCREEN_X des 2 bords (gauche et droite).
Merci JL35.
A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Sam 9 Juin 2018 - 19:25 | |
| C'est quand même un cas particulier, de couvrir tout l'écran avec une image. Et même dans ce cas il faut mettre un des paramètre w% ou h% = 0, si on veut que le redimensionnement respecte les proportions de l'image, sinon comme tu as dit elle a des chances d'être déformée, si ses proportions sont différentes de celles de l'écran.
Au départ je pensais plutôt à un encadrement pour par exemple une carte de voeux, ou quelque chose du même genre. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Dim 10 Juin 2018 - 13:53 | |
| Tiens Jean Claude (ou d'autres s'il y en a que ça intéresse ! ) On fournit maintenant à la sub (voir au début) le coefficient de réduction ou d'agrandissement de l'image, sous forme fractionnaire: paramètre coef = par exemple 1/4 (image réduite au quart), ou 2.4 (dimensions multipliées par 2,4). Ça permet de l'ajuster exactement à ses désirs par essais successifs. (si coef=1, pas de changement). Attention de ne pas mettre une valeur trop élevée, genre 30 ou 50, ça gèle tout ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cadre pour image Lun 11 Juin 2018 - 10:37 | |
| Salut JL35,
Il faut que teste cette nouvelle fonctionnalité.
A+ | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cadre pour image Mar 12 Juin 2018 - 10:46 | |
| C'est fait JL35 J'ai pris une photo de 1600x1200 avec un coef de 0.44. Résultat: affichage quasi instantané (moins d'une demi-seconde). Le coef de 0.44 permet d’avoir la photo encadrée avec une occupation maximum de FORM 0 (800x640). Bravo ! Prochaine étape: Définir le bon coef automatiquement en fonction de screen_x et screen_y. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Mar 12 Juin 2018 - 13:18 | |
| Salut Jean Claude, C'est facile à faire, mais pourquoi veux-tu absolument un cadre qui remplisse entièrement le moniteur ? c'est quand même un cas particulier... et puis comme l'image d'origine n'est généralement pas dans les mêmes proportions Hauteur/largeur que le moniteur, il y aura forcément des vides, soit à droite, soit en bas, si on ne veut pas déformer l'image pour tout remplir...
Et ton coef de 0,44 est le cas vraiment particulier d'une image 1600x1200 pour une image affichée 704x528 (1600x0.44=704, 1200x0.44=528)... on peut jouer aussi sur l'épaisseur du cadre. Le coefficient à appliquer dépend et des dimensions de l'origine, et des dimensions à afficher. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cadre pour image Mar 12 Juin 2018 - 13:42 | |
| - Citation :
- C'est facile à faire, mais pourquoi veux-tu absolument un cadre qui remplisse entièrement le moniteur ? c'est quand même un cas particulier... et puis comme l'image d'origine n'est généralement pas dans les mêmes proportions Hauteur/largeur que le moniteur, il y aura forcément des vides, soit à droite, soit en bas, si on ne veut pas déformer l'image pour tout remplir...
En fait, je veux pouvoir encadrer une photo en utilisant le maximum d'espace sur l'écran. Donc il faut que le programme définisse lui même la bonne largeur et hauteur de FORM 0 sans déformation de la photo. J'ai bossé un peu dessus, mais je ne suis pas encore arrivé au bout. Voilà ou j'en suis (Avec ton fichier photo): - Code:
-
DIM x%,y%,e%,coef,wmax,hmax
width 0,screen_x: height 0,screen_y x% = 30: y% = 40: e% = 30: ' coordonnées et épaisseur du cadre wmax=width(0) : hmax=height(0) ' message str$(wmax)+" "+str$(hmax) ' coef = 1 Cadre("C:\GRAPH\JPG\goldgate.jpg",x%,y%,coef,e%,255*256*256): ' cadre rouge END ' ============================================================================== SUB Cadre(f$,x%,y%,coef,e%,rgb%) ' Affichage sur la cible 2D de l'image f$ (JPG ou BMP) entourée d'un cadre ' dentelé d'épaisseur e%, couleur rgb% (65536*R+256*G+B) ' x%,y% sont les coordonnées du coin supérieur gauche de l'image elle-même. ' coef = coefficient de réduction ou d'agrandissement de l'image d'origine ' <1 réduction, >1 agrandissement (exemples: coef = 3/4, coef = 1.2) DIM_LOCAL tp%,ft$,v%(8),w%,h%,l%,p%,n%,xc%,yc%,wc%,hc%,x1%,y1%,r%,g%,b%,coef1,coef2 ft$ = "Tempor.bmp": ' temporaire tp% = 920: ' objet temporaire IF UPPER$(FILE_EXTRACT_EXTENSION$(f$))<>".BMP" PICTURE tp%: LEFT tp%,2000 FILE_LOAD tp%,f$: FILE_SAVE tp%,ft$: f$ = ft$: DELETE tp% END_IF FILEBIN_OPEN_READ 9,f$ FILEBIN_POSITION 9,18: FILEBIN_BLOCK_READ 9,8,v%(0) w% = v%(0)+256*v%(1)+65536*v%(2)+16777216*v%(3) h% = v%(4)+256*v%(5)+65536*v%(6)+16777216*v%(7) FILEBIN_CLOSE 9
coef1 = wmax/w% coef2 = hmax/h% coef = 0+frac(coef1+coef2)
message str$(coef)
IF coef <> 1 w% = w%*coef: h% = h%*coef SCENE2D tp%: HIDE tp%: WIDTH tp%,w%: HEIGHT tp%,h% SPRITE tp%: SPRITE_FILE_LOAD tp%,f$: SPRITE_SCALE tp%,coef,coef SNAPSHOT tp%,ft$: f$ = ft$: DELETE tp% END_IF IF e%<(w%/50) THEN e% = w%/50 wc% = w%+2*e%: hc% = h%+2*e%: ' enveloppe du cadre l% = hc%/20: ' largeur d'une dent (arbitraire) n% = hc%/l%: hc% = n%*l%: ' ajustage des dimensions du cadre n% = wc%/l%: wc% = n%*l% xc% = x%-(wc%-w%)/2: yc% = y%-(hc%-h%)/2 p% = e%/3: ' profondeur des dents (moduler ?) 2D_PEN_WIDTH 1: 2D_LINE xc%,yc%,xc%,yc%: ' coin sumérieur gauche du cadre FOR y1% = yc% TO yc%+hc%-l% STEP l%: ' gauche 2D_POLY_TO xc%+p%,y1%+l%/2: 2D_POLY_TO xc%,y1%+l% NEXT y1% FOR x1% = xc% TO xc%+wc%-l% STEP l%: ' bas 2D_POLY_TO x1%+l%/2,yc%+hc%-p%: 2D_POLY_TO x1%+l%,yc%+hc% NEXT x1% FOR y1% = yc%+hc% TO yc%+l% STEP -1*l%: ' droite 2D_POLY_TO xc%+wc%-p%,y1%-l%/2: 2D_POLY_TO xc%+wc%,y1%-l% NEXT y1% FOR x1% = xc%+wc% TO xc%+l% STEP -1*l%: ' haut 2D_POLY_TO x1%-l%/2,yc%+p%: 2D_POLY_TO x1%-l%,yc% NEXT x1% 2D_POLY_TO xc%,yc%: ' terminer 2D_PEN_WIDTH 1: 2D_RECTANGLE x%-1,y%-1,x%+w%+1,y%+h%+1: ' intérieur du cadre (image) r% = INT(rgb%/65536): g% = BIN_AND(rgb%,65280)/256: b% = BIN_AND(rgb%,255) 2D_FLOOD x%-2,y%,r%,g%,b%: ' couleur du cadre IMAGE tp%: FILE_LOAD tp%,f$: 2D_IMAGE_PASTE tp%,x%,y%: DELETE tp% IF FILE_EXISTS(ft$) = 1 THEN FILE_DELETE ft$ END_SUB ' ==============================================================================
A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Mar 12 Juin 2018 - 16:05 | |
| Pas facile d'arriver à un résultat exact par calcul en tenant compte de tous les paramètres: dimensions des bordures de Form 0, hauteur de la barre des tâches Windows... et en plus il reste toujours une partie d'écran libre (horizontalement) si on respecte les proportions de l'image. D'autant plus que le cadre n'a pas une largeur (épaisseur) rigoureusement fixe, elle est ajustée de quelques pixels en fonction des autres paramètres.
A mon avis le plus simple c'est de procéder par tâtonnements successifs... à moins de vouloir faire un slide-show d'une série d'images, auquel cas il faut automatiser... quoique, si toutes les images sont de mêmes dimensions... | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cadre pour image Mar 12 Juin 2018 - 16:31 | |
| Pour le moment, je n'ai rien fait de plus car j'ai entamé des tests sur PanExpress. Mais j'ai une idée que je vais essayer, je te tiens au courant.
A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Sam 20 Avr 2019 - 17:50 | |
| En attendant le résultat de l'idée de Jean Claude ( ), une autre façon d'encadrer une image, genre timbre-poste: - Code:
-
DIM f$,x,y,w,h,nw,cb%,cr% f$ = "C:\GRAPH\BMP\goldgate480.bmp": image 480 x 360 FILEBIN_OPEN_READ 1,f$ FILEBIN_POSITION 1,18: w = FILEBIN_READ(1)+256*FILEBIN_READ(1) FILEBIN_POSITION 1,22: h = FILEBIN_READ(1)+256*FILEBIN_READ(1) FILEBIN_CLOSE 1 x = 30: y = 30 HEIGHT 0,h+3*y : WIDTH 0,w+3*x: BORDER_SMALL 0 PICTURE 1: WIDTH 1,2*x+w: HEIGHT 1,2*y+h 2D_TARGET_IS 1 2D_PEN_WIDTH 3: ' épaisseur trait 2D_PEN_COLOR 128,0,0: ' bordure rouge foncé IMAGE 2: FILE_LOAD 2,f$ 2D_IMAGE_PASTE 2,x,y nw = 16: ' nombre d'ondulations sur la longueur Cadre_ondule(x,y,w,h,nw) cb% = 128: cr% = 65536*255+256*255+255: ' couleurs bordure et remplissage Remplir(1,10,10,cb%,cr%) END ' ============================================================================== SUB Cadre_ondule(x,y,w,h,nw) ' Tracé d'un cadre ondulé en x,y, dimensions w x h, sur la cible 2D ' nw = nombre d'ondulations horizontales sur la largeur ' (paramètres courants: couleur, épaisseur trait, etc) DIM_LOCAL nh,r,s,e,x1,y1,i nh = 1+INT(nw*h/w): ' nombre d'ondulations en hauteur r = w/(2*(2*nw-1)): IF ((2*nh-1)*2*r)>h THEN nh = nh-1: ' si dépassement en hauteur x1 = x+r: y1 = y+r DEGREES s=270: e=0: 2D_ARC x1,y1,r,s,e: ' départ, angle haut/gauche x = x1: y = y1 FOR i = 1 TO nw-1: ' haut x = x+2*r s=0: e=180: 2D_ARC x,y,r,s,e s=180: e=360: IF i = nw-1 THEN e=270 x = x+2*r: 2D_ARC x,y,r,s,e NEXT i FOR i = 1 TO nh-1: ' droite y = y+2*r s=270: e=90: 2D_ARC x,y,r,s,e s=90: e=270: IF i = nh-1 THEN e=180 y = y+2*r: 2D_ARC x,y,r,s,e NEXT i FOR i = 1 TO nw-1: ' bas x = x-2*r s=180: e=360: 2D_ARC x,y,r,s,e s=0: e=180: IF i = nw-1 THEN e = 90 x = x-2*r: 2D_ARC x,y,r,s,e NEXT i FOR i = 1 TO nh-1: ' gauche y = y-2*r s=90: e=270: 2D_ARC x,y,r,s,e s=270: e=90: y = y-2*r: 2D_ARC x,y,r,s,e NEXT i END_SUB ' ============================================================================== SUB Remplir(p%,x%,y%,cb%,cr%) ' Dans le picture p%, à partir du point x%,y%, remplir de la couleur cr% la zone ' délimitée par la couleur de bordure cb% (Attention: format BGR) DIM_LOCAL res% DLL_ON "C:\PANORAMIC\KGF\KGF.dll" CLIPBOARD_COPY p% res% = DLL_CALL0("LoadPicture"): ' image presse-papier -> image interne res% = DLL_CALL4("FloodfillPictureToBorderColor",x%,y%,cr%,cb%) res% = DLL_CALL0("SavePicture"): ' image interne -> presse-papier CLIPBOARD_PASTE p% DLL_OFF END_SUB ' ============================================================================== Image quelconque insérée dans la cible 2D en x,y, dimensions w x h. On peut moduler le nombre d'ondulations de la partie horizontale (il sera calculé en conséquence pour la partie verticale), les paramètres de trait sont les paramètres courant: épaisseur, couleur. Pour le remplissage (détourage) externe, ce serait possible en Panoramic pur, mais extrêmement long, aussi j'ai utilisé KGF.dll (sub Remplir). NB La largeur de l'image finale est celle de l'image d'origine, sa hauteur peut être inférieure, d'autant plus que le nombre d'ondulations est faible (avec l'ajustage pour faire coïncider les coins).. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cadre pour image Sam 20 Avr 2019 - 23:31 | |
| Je réagis un peu tardivement, mais ma réflexion vaut ce qu'elle vaut: - Citation :
- Pas facile d'arriver à un résultat exact par calcul en tenant compte de tous les paramètres: dimensions des bordures de Form 0, hauteur de la barre des tâches Windows
pourquoi le pas utiliser height_client et width_client ? On n'a plus aucun de ces problèmes... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cadre pour image Dim 21 Avr 2019 - 12:14 | |
| Bien sûr tu as raison Klaus, je disais ça il y a presque un an, depuis j'essaie d'utiliser systématiquement ces fonctions Width_Client et Height_Client qui résolvent le problème (mais qui sont apparues plus tard). | |
| | | Contenu sponsorisé
| Sujet: Re: Cadre pour image | |
| |
| | | | Cadre pour image | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |