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
» PANORAMIC V 1
Bricoler des images Emptypar papydall Aujourd'hui à 2:21

» Gestion d'un système client-serveur.
Bricoler des images Emptypar Klaus Hier à 23:59

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Bricoler des images Emptypar Marc Hier à 12:14

» @Jack
Bricoler des images Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Bricoler des images Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Bricoler des images Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Bricoler des images Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Bricoler des images Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Bricoler des images Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Bricoler des images Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Bricoler des images Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Bricoler des images Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Bricoler des images Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Bricoler des images Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Bricoler des images Emptypar leclode Mer 17 Avr 2024 - 11:07

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 du moment : -45%
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre ...
Voir le deal
339 €

 

 Bricoler des images

Aller en bas 
AuteurMessage
JL35




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

Bricoler des images Empty
MessageSujet: Bricoler des images   Bricoler des images EmptyJeu 25 Aoû 2016 - 22:40

Pour meubler un peu le silence ambiant...
Deux petites subs qui permettent:

- d'assembler deux images côte à côte en une seule, avec un intervalle éventuel, réglable. Les images peuvent être de tailles différentes, l'ajustage se fera automatiquement sur la plus grande.
Le sens d'assemblage peut être horizontal ou vertical.

- de rogner une partie d'image d'un nombre de pixels donné (en vue d'assemblage ?). Le rognage se fait au choix en haut, en bas, à gauche ou à droite de l'image.

Les images d'origine peuvent être au format BMP ou JPG, l'image résultat sera obligatoirement au format BMP (Panoramic ne sait pas sauvegarder dans un autre format, le code est tout en panoramic).

Code:
DIM f1$,f2$,fr$,e%,n%
f1$ = "C:\TEMP\i1.jpg"
f2$ = "C:\GRAPH\JPG\Goldgate.jpg"
fr$ = "Z:\Result.bmp"
e% = 0
n% = 40
Rogner(f2$,"D",n%,fr$)
' Assemble(f2$,f1$,"V",e%,fr$)
Message "Terminé !"
Terminate
' ==============================================================================
SUB Assemble(f1$,f2$,sens$,e%,fr$)
  ' Assembler deux images f1$ et f2$
  ' horizontalement (sens$="H") ou verticalement (sens$="V")
  ' écart e% pixels
  ' Résultat dans fr$ (image bmp)
  DIM_LOCAL fm$,w1%,h1%,w2%,h2%,w%,h%,x%,y%
  fm$ = "C:\TEMP\Provy.bmp"
  FORM 900: HIDE 900
  PICTURE 901: PARENT 901,900: ' manoeuvre
  PICTURE 902: PARENT 902,900: ' image finale
  IMAGE 903
  FILE_LOAD 901,f1$: FILE_SAVE 901,fm$
  FILEBIN_OPEN_READ 1,fm$: ' dimensions image 1
     FILEBIN_POSITION 1,18: w1% = FILEBIN_READ(1)+256*FILEBIN_READ(1)
     FILEBIN_POSITION 1,22: h1% = FILEBIN_READ(1)+256*FILEBIN_READ(1)
  FILEBIN_CLOSE 1
  FILE_LOAD 901,f2$: FILE_SAVE 901,fm$
  FILEBIN_OPEN_READ 1,fm$: ' dimensions image 2
     FILEBIN_POSITION 1,18: w2% = FILEBIN_READ(1)+256*FILEBIN_READ(1)
     FILEBIN_POSITION 1,22: h2% = FILEBIN_READ(1)+256*FILEBIN_READ(1)
  FILEBIN_CLOSE 1
  FILE_DELETE fm$
  IF sens$ = "H"
      w% = w1%+w2%+e%: h% = MAX(h1%,h2%)
      x% = w1%+e%: y% = 0
  ELSE
      w% = MAX(w1%,w2%): h% = h1%+h2%+e%
      x% = 0: y% = h1%+e%
  END_IF
  WIDTH 902,w%: HEIGHT 902,h%
  FILE_LOAD 901,f1$: CLIPBOARD_COPY 901: CLIPBOARD_PASTE 903
  2D_TARGET_IS 902: 2D_IMAGE_PASTE 903,0,0
  FILE_LOAD 901,f2$: CLIPBOARD_COPY 901: CLIPBOARD_PASTE 903
  2D_TARGET_IS 902: 2D_IMAGE_PASTE 903,x%,y%
  FILE_SAVE 902,fr$
  2D_TARGET_IS 0: DELETE 900: DELETE 903
END_SUB
' ==============================================================================
SUB Rogner(f$,sens$,n%,fr$)
  ' Rogner n% pixels d'une image f$
  ' en haut (sens$="H"), en bas ("B"), à gauche ("G") ou à droite ("D")
  ' Résultat dans fr$ (BMP)
  DIM_LOCAL fm$,w%,h%,x%,y%,wp%,hp%
  fm$ = "C:\TEMP\Provy.bmp"
  FORM 900: HIDE 900
  PICTURE 901: PARENT 901,900
  IMAGE 902
  FILE_LOAD 901,f$: FILE_SAVE 901,fm$
  FILEBIN_OPEN_READ 1,fm$: ' dimensions de l'image
     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
  2D_TARGET_IS 901
  IF sens$ = "H": ' rogner en haut
      2D_IMAGE_COPY 902,0,n%,w%,h%: wp% = w%: hp% = h%-n%
  ELSE
      IF sens$ = "B": ' rogner en bas
          2D_IMAGE_COPY 902,0,0,w%,h%-n%: wp% = w%: hp% = h%-n%
      ELSE
          IF sens$ = "G": ' rogner à gauche
              2D_IMAGE_COPY 902,n%,0,w%,h%: wp% = w%-n%: hp% = h%
          ELSE: ' "D" rogner à droite
              2D_IMAGE_COPY 902,0,0,w%-n%,h%: wp% = w%-n%: hp% = h%
          END_IF
      END_IF
  END_IF
  CLS: WIDTH 901,wp%: HEIGHT 901,hp%: 2D_IMAGE_PASTE 902,0,0
  FILE_SAVE 901,fr$
  2D_TARGET_IS 0: DELETE 900: DELETE 902
END_SUB
' ==============================================================================

Les exemples sont à adapter.
On peut évidemment assembler des images de proche en proche, pour faire par exemple un panoramic... euh, un panoramique, en rognant les parties qui se chevauchent.
Revenir en haut Aller en bas
 
Bricoler des images
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Retouche d'images
» Sub fondu d'images
» Images fractales
» Fichiers images (BMP et JPG)
» Assemblage d'images

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: