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
» Une calculatrice en une ligne de programme
Dessiner sur A4 Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
Dessiner sur A4 Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Dessiner sur A4 Emptypar Marc Hier à 11:42

» Bataille navale SM
Dessiner sur A4 Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
Dessiner sur A4 Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Dessiner sur A4 Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Dessiner sur A4 Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Dessiner sur A4 Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Dessiner sur A4 Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Dessiner sur A4 Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Dessiner sur A4 Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Dessiner sur A4 Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Dessiner sur A4 Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Dessiner sur A4 Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Dessiner sur A4 Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment :
Jeux, jouets et Lego : le deuxième à ...
Voir le deal

 

 Dessiner sur A4

Aller en bas 
AuteurMessage
JL35




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

Dessiner sur A4 Empty
MessageSujet: Dessiner sur A4   Dessiner sur A4 EmptyMar 4 Jan 2022 - 22:14

La sub ci-dessous permet de créer un Picture au format d'une feuille A4 grandeur nature,
orientation portrait/paysage, avec éventuellement des échelles haut et gauches en pixels ou en millimètres.
Comme précisé, il faut adapter en fonction de son moniteur  les deux variables wp et hp qui représentent en pixels
une page A4 210 et 297 millimètres.
Perso j'ai un écran de 24", 1920x1200 pixels, ce qui permet de représenter la page dans son intégralité.
Code:
A4(1,0,0,2): ' Picture A4 Portrait avec échelles en mm
' ... puis utilisation du picture à sa guise, texte, dessins, images, etc.
END

SUB A4(p%,or%,mni%,ech%)
  ' Création d'un Picture image A4 grandeur nature
  ' or% = 0 portrait, or% = 1 paysage
  ' mni% = 1: visualisation des marges non imprimables
  '           (12 pixels sur image A4, =75 pixels sur imprimante)
  ' ech% = 1: échelles en pixels, = 2 échelles en mm (=0 pas d'échelles)
  ' maj 4/1/2022
  DIM_LOCAL fm%,w%,h%,wp,hp,i,k,k1,ww,ppm,x,y,we,he,st,a$
  ww = 0: IF ech%>0 THEN ww = 20: ' largeur des échelles éventuelles
  ' ====== DIMENSIONS CI-DESSOUS À AJUSTER EN FONCTION DU MONITEUR ======
  wp = 778: hp = 1100: ' dimensions à l'écran d'une feuille A4, en pixels
  ' =====================================================================
  ppm = hp/297: ' pixels par mm à l'écran
  w% = wp: h% = hp: ' image feuille A4 portrait
  IF or% = 1 THEN w% = hp: h% = wp: ' paysage
  ' +++++++++++++++ 1100/297 = 3,704 pixels par mm à l'écran +++++++++++++++
  fm% = 950: FORM fm%: BORDER_SMALL fm%
             i = WIDTH_CLIENT(fm%): WIDTH fm%,w%+(WIDTH(fm%)-i)+ww
             i = HEIGHT_CLIENT(fm%): HEIGHT fm%,h%+(HEIGHT(fm%)-i)+ww
             COLOR fm%,255,255,0: CAPTION fm%,STRING$(105," ")+"-   PAGE   A4   -"
  PICTURE p%: PARENT p%,fm%: TOP p%,ww: LEFT p%,ww
              WIDTH p%,w%: HEIGHT p%,h%: ' A4 grandeur nature
  IF mni% = 1
      ' matérialisation de la zone externe non imprimable IrfanView (3 mm)
      COLOR p%,220,220,220: 2D_TARGET_IS p%: 2D_PEN_COLOR 220,220,220
      2D_RECTANGLE 11,11,w%-11,h%-11: 2D_PEN_COLOR 0,0,0
  END_IF
  ' PAUSE 100
  IF ech% > 0: ' affichage échelle pixels ou mm en haut et à gauche
      IF ech% = 1
          we = w%: he = h%: st = 10: a$ = "(échelle 10 pixels)"
      ELSE
          we = 210: he = 297: IF or% = 1 THEN we = 297: he = 210
          st = 1: a$ = "(échelle 1 mm)"
      END_IF
      CAPTION fm%,CAPTION$(fm%)+"  "+a$+"   -": 2D_TARGET_IS fm%
      FONT_SIZE fm%,7: PRINT_TARGET_IS fm%
      FOR i = 0 TO we STEP st: ' échelle horizontale
          2D_PEN_WIDTH 1
          x = ww+i: IF ech% = 2 THEN x = ww+i*ppm
          y = 15: k = i/100: k1=i/50: IF ech%=2 THEN k = i/10: k1=i/5
          IF k1 = INT(k1) THEN y = 10
          IF k = INT(k)
              y = 10: 2D_PEN_WIDTH 2: PRINT_LOCATE x-8,0: PRINT STR$(i)
          END_IF
          2D_LINE x,y,x,ww
      NEXT i
      FOR i = 0 TO he STEP st: ' échelle verticale
          2D_PEN_WIDTH 1
          y = ww+i: IF ech% = 2 THEN y = ww+i*ppm
          x = 16: k = i/100: k1 = i/50: IF ech% = 2 THEN k = i/10: k1 = i/5
          IF k1 = INT(k1) THEN x = 10
          IF k = INT(k)
              x = 14: 2D_PEN_WIDTH 2: PRINT_LOCATE 0,y-6: PRINT STR$(i)
          END_IF
          2D_LINE x,y,ww,y
      NEXT i      
  END_IF
  2D_TARGET_IS p%: PRINT_TARGET_IS p%
END_SUB

Dessiner sur A4 A410
Revenir en haut Aller en bas
 
Dessiner sur A4
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» dessiner une musique
» Dessiner sur une scène 3D
» Dessiner un arc de cercle
» Comment dessiner une ellipse ?
» dessiner une chouette courbe colorée

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: