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
» Gestion d'un système client-serveur.
Impression d'image sans ressource externe Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Impression d'image sans ressource externe Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Impression d'image sans ressource externe Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Impression d'image sans ressource externe Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Impression d'image sans ressource externe Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Impression d'image sans ressource externe Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Impression d'image sans ressource externe Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Impression d'image sans ressource externe Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Impression d'image sans ressource externe Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Impression d'image sans ressource externe Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Impression d'image sans ressource externe Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Impression d'image sans ressource externe Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Impression d'image sans ressource externe Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Impression d'image sans ressource externe Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Impression d'image sans ressource externe Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Bon plan achat en duo : 2ème robot cuiseur Moulinex Companion ...
600 €
Voir le deal

 

 Impression d'image sans ressource externe

Aller en bas 
2 participants
AuteurMessage
JL35




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

Impression d'image sans ressource externe Empty
MessageSujet: Impression d'image sans ressource externe   Impression d'image sans ressource externe EmptyJeu 14 Nov 2019 - 14:59

En fait je l'utilise pour imprimer des maquettes de pages A4, créées à l'écran en Panoramic.
Le Picture source fait 778x1100 qui me donne une image grandeur nature aux proportions voulues (mon écran fait 1920x1200...), mais ça peut être n'importe quoi.
L'intérêt c'est l'utilisation de fonctions incluses dans Windows, donc accessibles directement depuis Panoramic.

L'orientation d'impression (portrait/paysage) est automatique en fonction des proportions de l'image.

La SUB est PrintA4(), vec un petit exemple, pour voir:
Code:
DIM fr$,w%,h%,mg1,mg2,mg3

fr$ = "C:\TEMP\Test.bmp"
WIDTH 0,820: HEIGHT 0,1150: COLOR 0,0,255,255: BORDER_SMALL 0
w% = 778: h% = 1100
PICTURE 1: WIDTH 1,w%: HEIGHT 1,h%
2D_TARGET_IS 1
mg1 = 20: mg2 = 40: mg3 = 60
2D_PEN_COLOR 0,0,255: 2D_RECTANGLE mg1,mg1,w%-mg1,h%-mg1
2D_PEN_COLOR 255,0,0: 2D_RECTANGLE mg2,mg2,w%-mg2,h%-mg2
2D_PEN_COLOR 0,255,0: 2D_RECTANGLE mg3,mg3,w%-mg3,h%-mg3
FILE_SAVE 1,fr$
PrintA4(fr$)
FILE_DELETE fr$
END

SUB PrintA4(f$)
  '   Impression d'une page A4 (image, dimensions quelconques mais proportions A4)
  ' sur l'imprimante  par défaut en ligne de commande
  '   Marges non imprimables périphériques: ~ 3 mm G/D, 3,5 mm H/B sur A4
  '   ATTENTION: l'image est redimensionnée (compactée) pour tenir dans la zone
  ' imprimable, cad -3 mm droite et gauche, -3,5mm haut et bas.
  ' -> surface imprimée = 204x290 mm, centrée
  '   Orientation Portrait/Paysage automatique en fonction des proportions
  ' de l'image à imprimer  
  DIM_LOCAL q$,scr$,pt$,a$,k%,ptr$
  q$ = CHR$(34)
  scr$ = "Cscript %WINDIR%\System32\Printing_Admin_Scripts\fr-FR\Prnmngr.vbs -g"
  EXECUTE_WAIT "cmd.exe|/c "+scr$+" |clip": a$ = CLIPBOARD_STRING_PASTE$
  k% = INSTR(a$,"est "): ptr$ = TRIM$(RIGHT_POS$(a$,k%+4)): ' -> nom imprimante
  pt$ = "rundll32 shimgvw.dll ImageView_PrintTo /pt"  
  EXECUTE_WAIT "cmd.exe|/c "+pt$+" "+f$+" "+q$+ptr$+q$
END_SUB

La sub commence par récupérer le nom de l'imprimante par défaut, qui est nécessaire pour la fonction d'impression, ce qui allonge la durée d'exécution (quelques secondes)..

PS, précisions: l'image (le fichier image) donnée à imprimer est de dimensions quelconques, mais impérativement aux proportions d'une page A4 (210 x 297), sinon elle sera tronquée à l'impression.
Donc en fait c'est plutôt réservé à l'impression d'une page complète.

PS2: je remarque que l'image est redimensionnée (tassée...) à l'impression pour tenir dans la zone imprimable. Ainsi mon picture/image 778x1100 sera imprimé sur 204x290 mm au milieu de la feuille (marges latérales = 3 mm, haut/bas = 3,5 mm, chez moi, c'est peut-être variable selon l'imprimante...).
Ça peut être un inconvénient et il faut en tenir compte.
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

Impression d'image sans ressource externe Empty
MessageSujet: +++   Impression d'image sans ressource externe EmptyVen 15 Nov 2019 - 15:35

Ouaouh !
Ca, c'est du pointu !
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




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

Impression d'image sans ressource externe Empty
MessageSujet: Re: Impression d'image sans ressource externe   Impression d'image sans ressource externe EmptyVen 15 Nov 2019 - 17:42

Salut jj,

Pointu, pas tant que ça, mais c'est fou toutes ces ressources internes qu'on ignore...
J'ai modifié la sub pour tenir compte automatiquement des marges non imprimables, comme ça on dessine sur un picture aux proportions A4, ce qui sera imprimé en sera l'image exacte
(sauf que bien sûr les fameuses marges non imprimables resteront blanches !):
Code:
SUB PrintA4(f$)
  ' - Impression de l'image d'une page A4 (dimensions quelconques mais
  ' proportions A4) sur l'imprimante  par défaut en ligne de commande.
  ' - L'impression tient compte des marges non imprimables périphériques:
  ' = 3 mm G/D, 3,5 mm H/B sur A4 -> surface imprimée = 204x290 mm, centrée
  ' - Orientation Portrait/Paysage automatique en fonction des proportions
  ' de l'image à imprimer.  
  DIM_LOCAL p%,n2%,q$,fm$,wi%,hi%,ppm,x%,y%,scr$,pt$,a$,k%,ptr$
  p% = 950: q$ = CHR$(34)
  fm$ = "C:\TEMP\imgpr.bmp"
  n2% = NUMBER_2D_TARGET
  PICTURE p%: FILE_LOAD p%,f$: FILE_SAVE p%,fm$: 2D_TARGET_IS p%
  IMAGE p%+1
  FILEBIN_OPEN_READ 1,fm$: ' dimensions de l'image de la page A4
      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  
  ppm = hi%/297: ' pixels par mm
  ' agrandissement pour compenser les marges non imprimables:
  x% = 3*ppm: y% = 3.5*ppm: ' marges non imprimables
  2D_IMAGE_COPY p%+1,x%,y%,wi%-x%,hi%-y%: ' sans les marges
  FILE_SAVE p%+1,fm$
  scr$ = "Cscript %WINDIR%\System32\Printing_Admin_Scripts\fr-FR\Prnmngr.vbs -g"
  EXECUTE_WAIT "cmd.exe|/c "+scr$+" |clip": a$ = CLIPBOARD_STRING_PASTE$
  k% = INSTR(a$,"est "): ptr$ = TRIM$(RIGHT_POS$(a$,k%+4)): ' -> nom imprimante
  pt$ = "rundll32 shimgvw.dll ImageView_PrintTo /pt"  
  EXECUTE_WAIT "cmd.exe|/c "+pt$+" "+fm$+" "+q$+ptr$+q$
  FILE_DELETE fm$
  2D_TARGET_IS n2%: DELETE p%: DELETE p%+1
END_SUB
Le seul truc dont je ne suis pas sûr, c'est les dimensions de ces marges, chez moi c'est 3 mm de chaque côté et 3,5 mm en haut et en bas, ça dépend peut-être de l'imprimante, auquel cas ce serait à ajuster.

Je me sers aussi pas mal de WinTextPrint.exe de l'ami Klaus, très pratique, mais là je voulais faire un truc indépendant.
Revenir en haut Aller en bas
JL35




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

Impression d'image sans ressource externe Empty
MessageSujet: Re: Impression d'image sans ressource externe   Impression d'image sans ressource externe EmptyVen 15 Nov 2019 - 21:18

MARGES NON IMPRIMABLES

Une astuce pour connaître les dimensions des marges non imprimables de son imprimante:
- Lancer Word, ou Word Starter
- Menu 'Mise en page', 'Marges', 'Marges personnalisées'
- Mettre les 4 marges Haut, Bas, Gauche, Droite à 0, puis 'OK'
- -> affichage d'une fenêtre d'alerte, cliquer 'Corriger'
- -> affichage des marges minimales.

Chez moi par exemple ça donne haut 0,32 bas 0,34 gauche 0,32 droite 0,31 mm.
C'est la théorie.
Au final, j'obtiens toujours une image de 204x290 mm centrée sur une feuille A4 (210x297)
Revenir en haut Aller en bas
Contenu sponsorisé





Impression d'image sans ressource externe Empty
MessageSujet: Re: Impression d'image sans ressource externe   Impression d'image sans ressource externe Empty

Revenir en haut Aller en bas
 
Impression d'image sans ressource externe
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ressource Hacker et les caractères accentuès [RESOLU]
» Fermer un programme externe à PANORAMIC
» Click sur un objet externe a Panoramic
» Appel programme externe
» Lecture des éléments d'une combo externe.

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: