JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Incrustation d'image Mar 6 Mai 2014 - 18:04 | |
| Une toute petite sub sans prétention, pour incruster une image f2$ dans une autre f1$, à un endroit donné de l'image réceptrice f1$. - les deux fichiers image doivent être au format Jpg ou Bmp, rectangulaires (ou carrées ) - Si l'image incrustée déborde de l'image réceptrice, la partie débordante est perdue. - L'image résultante est rendue dans le presse-papier, à sauvegarder éventuellement dans un fichier. Le tout est en pur Panoramic: - Code:
-
SUB Incruste(f1$,f2$,x%,y%) ' Incrustation de l'image f1$ dans l'image f2$, en x%,y% de f1$. ' f1$ et f2$ sont au format BMP ou JPG. Si l'image incrustée déborde de l'image ' de base, la partie débordante est perdue. ' ***** L'image résultante est rendue dans le presse-papier. ***** DIM_LOCAL a$,i%,w%,h%,p%,p1%,p2%,v%(8),fm$ fm$ = "Z:\Imgtmp.bmp": ' <-- temporaire éventuelle, à ajuster p% = 2000: WHILE OBJECT_EXISTS(p%)=1: p%=p%+1: END_WHILE PICTURE p%: LEFT p%,-4000 IF UPPER$(FILE_EXTRACT_EXTENSION$(f1$)) = ".JPG" FILE_LOAD p%,f1$: FILE_SAVE p%,fm$: f1$ = fm$ END_IF FILEBIN_OPEN_READ 9,f1$ FILEBIN_POSITION 9,18: FILEBIN_BLOCK_READ 9,8,v%(0) w% = v%(0)+256*v%(1)+65536*v%(2)+16777216*v%(3): ' dimensions de l'image réceptrice h% = v%(4)+256*v%(5)+65536*v%(6)+16777216*v%(7) FILEBIN_CLOSE 9 WIDTH p%,w%: HEIGHT p%,h% FILE_LOAD p%,f1$ p1% = p%+1: WHILE OBJECT_EXISTS(p1%)=1: p1%=p1%+1: END_WHILE IMAGE p1% IF UPPER$(FILE_EXTRACT_EXTENSION$(f2$)) = ".JPG" p2% = p1%+1: WHILE OBJECT_EXISTS(p2%)=1: p2%=p2%+1: END_WHILE PICTURE p2%: LEFT p2%,-4000: FILE_LOAD p2%,f2$ FILE_SAVE p2%,fm$: f2$ = fm$ END_IF FILE_LOAD p1%,f2$: 2D_TARGET_IS p%: 2D_IMAGE_PASTE p1%,x%,y% CLIPBOARD_COPY p% 2D_TARGET_IS 0: DELETE p%: DELETE p1% IF OBJECT_EXISTS(p2%) = 1 THEN DELETE p2% 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: Incrustation d'image Mar 6 Mai 2014 - 18:30 | |
| Pour les amateurs de photos, ça peut être intéressant. Ou pour des jeux. Je vais tester.
A+ | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Incrustation d'image Mar 6 Mai 2014 - 20:58 | |
| Bonsoir Jean Claude, Il y a sûrement des applications intéressantes, à voir... Pour le fichier temporaire fm$, il vaut mieux mettre "C:\TEMP\..." c'est plus universel que mon Z:\... (et s'il y a des questions, ça m'étonnerait quand même, dépêchez-vous, demain dès l'aube je prends la tangente pour 8 jours... ) | |
|
sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: Incrustation d'image Mar 6 Mai 2014 - 22:49 | |
| salut j'ai ce message d'erreur file already used pour la ligne FILEBIN_OPEN_READ 9,f1$ vers la ligne 16 | |
|
Contenu sponsorisé
| Sujet: Re: Incrustation d'image | |
| |
|