Je suis en train de transcrire un jeu de dés en PB du coup je vous propose ce petit prog qui permet de créer 6 images de 80x80 des 6 dés.
Code : Tout sélectionner
; Création de jeu de dés // Ar-S - 2015 / compilé en PB.5.31
UseJPEGImageDecoder()
UseJPEGImageEncoder()
; // petites macros pour le fun
Macro I_ll_be_back()
For i = #DES1 To #DES6
FreeImage(i)
Next
End
EndMacro
Macro DessineDans(image)
StartDrawing(ImageOutput(image))
EndMacro
Macro Trace(x,y)
DrawImage(ImageID(#DOT), x, y)
EndMacro
; //////////////////
Enumeration IMG
#DOT
#CARRE
#DES1
#DES2
#DES3
#DES4
#DES5
#DES6
EndEnumeration
Path$ = GetCurrentDirectory()
CheminInitial$ = GetCurrentDirectory()
Path$ = PathRequester("Choisissez un répertoire de sauvegarde", CheminInitial$)
If path$ = GetCurrentDirectory()
MessageRequester("Information", "Les images seront sauvées dans : " + path$, 0)
EndIf
; //// Procédures
Procedure CreationImage()
; L'image du Point des dés (dédé !)
CatchImage(#DOT, ?dot_jpg_Start, ?dot_jpg_End - ?dot_jpg_Start)
; Le carré blanc entouré de noir
CreateImage(#CARRE,80,80,32,$0)
DessineDans(#CARRE)
Box(0,0,80,80,$0)
Box(1,1,78,78,$FFFFFF)
StopDrawing()
CopyImage(#CARRE,#DES1)
CopyImage(#CARRE,#DES2)
FreeImage(#CARRE)
EndProcedure
Procedure CreationDes()
Protected Ld,Hd,lC,hC
; Taille du dé
LC = 80 : HC = 80
; Taille du point
LD = ImageWidth(#DOT) : HD = ImageHeight(#DOT)
; Dé 1
DessineDans(#Des1)
Trace (LC/2 - LD/2, HC/2 - HD/2)
StopDrawing()
; Dé 2
DessineDans(#Des2)
Trace (LD/2 , HD/2)
Trace (LC-(LD+LD/2), HC - (HD+HD/2))
StopDrawing()
; Dé 3
CopyImage(#DES2,#DES3)
DessineDans(#DES3)
Trace (LC/2 - LD/2 , HC/2 - HD/2)
StopDrawing()
; Dé 4
CopyImage(#DES2,#DES4)
DessineDans(#DES4)
Trace (LC - (LD+LD/2) , HD/2)
Trace (LD/2, HC - (HD+HD/2) )
StopDrawing()
; Dé 5
CopyImage(#DES4,#DES5)
DessineDans(#DES5)
Trace (LC/2 - LD/2, HC/2 - HD/2)
StopDrawing()
; Dé 6
CopyImage(#DES4,#DES6)
DessineDans(#DES6)
Trace (LD/2, HC - HC/2 - HD/2)
Trace (LC-(LD+LD/2), HC/2 - HD/2)
StopDrawing()
FreeImage(#DOT)
EndProcedure
CreationImage()
CreationDes()
; Sauvegarde des images
SaveImage(#DES1,path$+"de1.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES2,path$+"de2.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES3,path$+"de3.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES4,path$+"de4.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES5,path$+"de5.jpg",#PB_ImagePlugin_JPEG)
SaveImage(#DES6,path$+"de6.jpg",#PB_ImagePlugin_JPEG)
MessageRequester("Info","Images sauvegardées dans " + path$, #PB_MessageRequester_Ok|#MB_ICONINFORMATION)
I_ll_be_back() ; :D
DataSection
dot_jpg_start:
; size : 1481 bytes
Data.q $78451800E1FFD8FF,$002A494900006669,$0000000000000008,$1100ECFF00000000,$000100796B637544
Data.q $FF00005B00000004,$3A707474681803E1,$6F64612E736E2F2F,$782F6D6F632E6562,$002F302E312F7061
Data.q $656B636170783F3C,$3D6E696765622074,$64692022BFBBEF22,$704D304D3557223D,$65727A4869686543
Data.q $636B7A63544E7A53,$783C203E3F226439,$6174656D706D783A,$783A736E6C6D7820,$3A65626F6461223D
Data.q $2F6174656D3A736E,$74706D783A782022,$65626F6441223D6B,$726F4320504D5820,$30632D352E352065
Data.q $35312E3937203431,$3032202C31383431,$33312F33302F3331,$313A39303A32312D,$2020202020202035
Data.q $6664723C203E2220,$6C6D78204644523A,$223D6664723A736E,$772F2F3A70747468,$726F2E33772E7777
Data.q $302F393939312F67,$6664722D32322F32,$2D7861746E79732D,$723C203E2223736E,$72637365443A6664
Data.q $72206E6F69747069,$74756F62613A6664,$6E6C6D782022223D,$3D4D4D706D783A73,$2F2F3A7074746822
Data.q $65626F64612E736E,$7061782F6D6F632E,$2F6D6D2F302E312F,$3A736E6C6D782022,$68223D6665527473
Data.q $736E2F2F3A707474,$632E65626F64612E,$312F7061782F6D6F,$65707954732F302E,$6372756F7365522F
Data.q $7820222366655265,$706D783A736E6C6D,$2F3A70747468223D,$626F64612E736E2F,$61782F6D6F632E65
Data.q $20222F302E312F70,$6F443A4D4D706D78,$4449746E656D7563,$69642E706D78223D,$3037383436333A64
Data.q $3131353037323344,$3444364141383545,$3831423238413542,$4D706D7820223936,$6E6174736E493A4D
Data.q $6D78223D44496563,$36333A6469692E70,$3732324430373834,$4138354531313530,$3841354234443641
Data.q $2022393638314232,$616572433A706D78,$3D6C6F6F54726F74,$502065626F644122,$706F68736F746F68
Data.q $646E695720434320,$783C203E2273776F,$7265443A4D4D706D,$6D6F724664657669,$693A666552747320
Data.q $4965636E6174736E,$4235453630223D44,$3245324243383942,$3031433443363637,$4239363533424339
Data.q $5274732022334338,$6D75636F643A6665,$30223D4449746E65,$4338394242354536,$4336363732453242
Data.q $3342433930314334,$2233433842393635,$6664722F3C203E2F,$706972637365443A,$2F3C203E6E6F6974
Data.q $3E4644523A666472,$706D783A782F3C20,$3F3C203E6174656D,$2074656B63617078,$3F2272223D646E65
Data.q $6F64410E00EEFF3E,$000000C064006562,$0101008400DBFF01,$0101010101010101,$0101020201010102
Data.q $0202020202020101,$0202020202030202,$0303040303030302,$0604040505040403,$0707070706060606
Data.q $0101070707070707,$0303040202020101,$0707060504050604,$0707070707070707,$0707070707070707
Data.q $0707070707070707,$0707070707070707,$0707070707070707,$FF07070707070707,$12001300081100C0
Data.q $0301110200110103,$01007000C4FF0111,$0000000000010101,$0900000000000000,$00000001010A080B
Data.q $0000000000000000,$0000100000000000,$0000070A09020503,$0301000000000000,$1711080706040205
Data.q $1816151413321200,$5634246261312109,$57265323520A3837,$0000000001111A19,$0000000000000000
Data.q $0C00DAFF00000000,$0011031102000103,$AAFD71FA7838003F,$CB144EB919AA856A,$B58548367DE41635
Data.q $29E541E5B2D97059,$4D35697B46522A56,$77181EA2D1454151,$1BDBB2200BB3E469,$29C0C271446C0019
Data.q $9B1D0A116F8D6FE8,$67AA08A81026D308,$9AADC46D44CFEE41,$07E2B488429402B1,$E8BC470A63EC9206
Data.q $8060912681161866,$8AE8CF4621A07CFC,$96D8BFA6EF83FE8D,$A3FB5DF9C1DF3D51,$987FAA11F799009B
Data.q $0E134C7115595BF4,$5261CDD8F829690D,$1942E105605B5D17,$7A73561EEE395D7B,$F447731D5F12D066
Data.q $EA1860080836A00D,$AAE5568589548910,$7179C0BCFAD23C3C,$5E3C7891342D4E73,$806176777519681A
Data.q $0E0000A069D13811,$EB69FEE03AC0407E,$BDB3F68D5E8AC33F,$9CBEBCFCE2E7E611,$B7EEAFFBB500B68E
Data.q $AB316FDDCFEB4957,$DA7BC757F40E359F,$9D0FBA945DBC715E,$7636BBAC39B76CAB,$3D6F5F03C06C79CB
Data.q $6D746F7624CD6FC8,$D7F0565F62A7D6BD,$9FB5697906E9A189,$C56A37D66C4E6B67,$FF3FC0071560EBC7
Data.b $D9
dot_jpg_end:
EndDataSection