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

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Encadrer une image Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Encadrer une image Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Encadrer une image Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Encadrer une image Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Encadrer une image Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Encadrer une image Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Encadrer une image Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Encadrer une image Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Encadrer une image Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Encadrer une image Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Encadrer une image Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Encadrer une image Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Encadrer une image Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Encadrer une image Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Encadrer une image Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
Boutique Nike : -25% dès 50€ sur TOUT le ...
Voir le deal

 

 Encadrer une image

Aller en bas 
AuteurMessage
JL35




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

Encadrer une image Empty
MessageSujet: Encadrer une image   Encadrer une image EmptyLun 31 Juil 2023 - 22:14

Encadrer une image Cadre_10
Juste un gadget pour mettre un cadre autour d'une image (jpg ou bmp)
On peut recommencer autant de fois qu'on veut, en changeant d'image, avec éventuellement une étiquette
en bas ou en haut du cadre, simplement changer un paramètre puis recliquer sur 'Créer'
Code:
' Encadrement.bas
DIM f$,fc$,fp$,wi,hi,p,ex,ei,wb,wc,hc,a$,xc,yc,h
LABEL Chimg,DimJpgBmp,Crecad
fp$ = "C:\Tmp.bmp"
fc$ = "Z:\Cadre.bmp": ' <- Sauvegarde du résultat (bmp), À AJUSTER !
BORDER_SMALL 0: FONT_SIZE 0,12: COLOR 0,220,255,255
ALPHA 1: TOP 1,3: CAPTION 1,"Image:"
EDIT 2: TOP 2,1: LEFT 2,50: WIDTH 2,300: TEXT 2,"(clic)": ON_CLICK 2,Chimg
OPEN_DIALOG 3
ALPHA 4: TOP 4,TOP(1): LEFT 4,LEFT(2)+WIDTH(2)+5: ' dimensions image
BUTTON 10: TOP 10,5: LEFT 10,LEFT(4)+140: WIDTH 10,60: HEIGHT 10,40
           CAPTION 10,"Créer": ON_CLICK 10,Crecad
ALPHA 11: TOP 11,TOP(1)+25: CAPTION 11,"Étiquette:"
EDIT 12: TOP 12,TOP(11)-2: LEFT 12,70: WIDTH 12,200
CONTAINER_OPTION 14: TOP 14,TOP(12): LEFT 14,LEFT(12)+WIDTH(12)+5: HEIGHT 14,20
OPTION 15: PARENT 15,14: CAPTION 15,"Bas": MARK_ON 15
OPTION 16: PARENT 16,14: LEFT 16,50: CAPTION 16,"Haut"
p = 100: PICTURE p: TOP p,60: LEFT p,6: HIDE p
IMAGE p+1
END
' =============================================================================
Chimg:
  f$ = FILE_NAME$(3): TEXT 2,f$: GOSUB DimJpgBmp
  CAPTION 4,STR$(wi)+" x "+STR$(hi)+" pixels"  
RETURN
' =============================================================================
DimJpgBmp:
  IF FILE_EXTRACT_EXTENSION$(UPPER$(f$)) <> ".BMP"
      FILE_LOAD p,f$: FILE_SAVE p,fp$: f$ = fp$
  END_IF
  FILE_LOAD p+1,f$
  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 FILE_EXISTS(fp$) = 1 THEN FILE_DELETE fp$
RETURN  
' =============================================================================
Crecad:
  2D_TARGET_IS p
  ex = wi/15: IF ex<20 THEN ex = 20: ' largeur partie extérieure du cadre
  ei = INT(ex/2.5): ' largeur partie intérieure du cadre
  wb = ex+ei: ' largeur totale cadre
  wc = wi+2*wb: hc = hi+2*wb: ' dimensions extérieures
  WIDTH 0,wc+30: HEIGHT 0,hc+110: IF WIDTH(0)<600 THEN WIDTH 0,600
  WIDTH p,wc+5: HEIGHT p,hc+5
  2D_PEN_WIDTH 1: 2D_PEN_COLOR 0,0,0
  2D_RECTANGLE 0,0,wc,hc: 2D_FLOOD 5,5,180,96,0: ' plat du cadre
  2D_RECTANGLE ex,ex,wc-ex,hc-ex
  2D_IMAGE_PASTE p+1,wb,wb
  2D_FILL_OFF: 2D_RECTANGLE wb,wb,wc-wb,hc-wb
  2D_LINE 0,0,wb,wb: 2D_LINE wc,0,wc-wb,wb
  2D_LINE 0,hc,wb,hc-wb: 2D_LINE wc,hc,wc-wb,hc-wb
  ' colorisation du cadre
  2D_FLOOD wb,wb-ei/2,128,64,0: ' intérieur haut
  2D_FLOOD wb-ei/2,wb,128,64,0: ' intérieur gauche
  2D_FLOOD wc-wb+ei/2,hc-wb+ei/2,200,128,64: ' intérieur droite
  2D_FLOOD wb,hc-wb+ei/2,200,128,64: ' intérieur bas
  2D_PEN_WIDTH 4: 2D_LINE 0,hc+2,wc+2,hc: 2D_POLY_TO wc+2,0
  2D_PEN_WIDTH 3: 2D_LINE wb,hc-wb-1,wb,wb: 2D_POLY_TO wc-wb-1,wb
  wc = wc+2: hc = hc+2: WIDTH p,wc: HEIGHT p,hc
  a$ = TEXT$(12)
  IF a$ <> ""
      h = ex-2
      xc = wc/2: yc = ex/2: IF CHECKED(15) = 1 THEN yc = hc-ex/2
      Etiq_Oreil(xc,yc,h,a$)
  END_IF
  FILE_SAVE p,fc$
  SHOW p  
RETURN
' =============================================================================
SUB Etiq_Oreil(xc,yc,h,txt$)
  ' Dessin d'une étiquette avec oreillettes, texte txt$,
  ' centrée en xc,yc, hauteur h, sur 2D_Target,
  ' options courantes de police et d'enrichissement du texte
  ' (la taille de police est calculée)
  DIM_LOCAL p%,wt,ht,we,he,x0,y0,xce,yce,x,y,xt,yt,r,a
  p% = NUMBER_2D_TARGET: PRINT_TARGET_IS p%
  FONT_SIZE p%,h/2 
  wt = TEXT_WIDTH(txt$,p%): ht = TEXT_HEIGHT(txt$,p%): ' dim. texte
  we = wt+20: he = h: ' dimensions du rectangle contenant
  x0 = xc-we/2: y0 = yc-he/2: r = h/4: ' rayon des oreillettes
  xt = xc-wt/2: yt = yc-ht/2
  DEGREES: 2D_PEN_WIDTH 2
  2D_LINE x0,y0,x0+we,y0: 2d_pen_width 3: 2D_POLY_TO x0+we,y0+r
  xce = x0+we: yce = y0+h/2: 2D_ARC xce,yce,r,90,270
  2D_LINE x0+we,y0+3*r,x0+we,y0+h
  2D_POLY_TO x0,y0+h: 2d_pen_width 2: 2D_POLY_TO x0,y0+3*r
  xce = x0: 2D_ARC xce,yce,r,270,90
  2D_LINE x0,y0+r,x0,y0: 2D_FLOOD xc,yc,255,215,0
  2D_PEN_WIDTH 3: 2D_CIRCLE xce,yce,r/5: 2D_CIRCLE x0+we,yce,r/5
  PRINT_LOCATE xt,yt: PRINT txt$
END_SUB
' =============================================================================
Revenir en haut Aller en bas
 
Encadrer une image
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Redimensionner une image (bis)
» Redimensionner une image
» image PNG
» image.gif
» COLLER UNE IMAGE

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: