Comment changer la Teinte Globale d'une image...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Comment changer la Teinte Globale d'une image...

Message par Shadow »

Bon pour le moment je ne parvient pas à faire se que je veux, pourtant j'ai ce qu'il faut semble t-il :|

Code : Tout sélectionner

UsePNGImageDecoder()

DataSection
  Poisonicon:
    ; size : 5841 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$9000000090000000,$E246E70000000608,$58457419000000B8,$72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA78544144497316
    Data.q $C795D75470699DED,$0B4458AA6A6A61F3,$84245680A0AD0DA1,$8C06124585A10900,$6601181566CB6324,$4086EC21B63630B3,$991C431B6360406C,$2F1C1C4A2706ADE0,$193388794E38CC71,$314CCAE533535D95
    Data.q $D4D572535355ACCE,$4FAAFFDE672F997C,$ADD5BBDEBDFB7473,$EF7EBD6A5FEAAFBE,$EF7DEF59D3FBA4B5,$3666CCD99B31DF3B,$4DB996F6F6E9C5B3,$EDAED4B51D2D7A9A,$18C00A032D7F34AF,$DDE96BDB97F834B0
    Data.q $7D056C787D2B17C7,$A2D53E6EA7DDB27C,$FCEB21A6DED9FD8E,$37CA5B752CFA965B,$E078060D0BB1DD7F,$7D9E9F2415EABB27,$E6F97D3D717F3E80,$DFA61F57FBF5B08E,$97278BF5C1487C5E,$8018D4AC650371DC
    Data.q $83086682C6960526,$B7F4FE30048E818B,$0AD03BDF402AB6D7,$A9E131224664D4EB,$F733ADE0DD48F1BC,$2059CAC1271A04C5,$F433CB3C491199F5,$91691E1547BA57BB,$C49919A8ECB43FDE,$05C6368F27F7A801
    Data.q $23321C1EFACFAC3C,$9AB1B6BD1D003893,$0C42006E28BDDB5E,$B93A2E32B1264666,$E2B52B82202E24BC,$0680281264665BB1,$AFCF4415CA3AE740,$6853135BEEBF4B9B,$A41E178BE7B8AD06,$DA9059F843DC4F4F
    Data.q $B85E86882C49919B,$3AE6F2F58802967F,$0E37E01AA74CF9BA,$BDB074355DE3A4AE,$47EEFD1B78F47E92,$6FE85BFDCB07E13D,$CFA76B9FB7475E5E,$0CC5E9E8FA572D4F,$E06802C49519B750,$BA3D6200239543F2
    Data.q $E3D08CE7563690B0,$86D2E6FD4ACAA56D,$FBF48D95E2F98180,$F9F49D73EDD0D717,$A27FDEA4681E15E9,$C4CB44EA55320189,$AEA3B402DB57D7FA,$7BD472734DA00BC0,$86D69E8DBD037B70,$AEC0D040DC3DB42E
    Data.q $435818E148D0B605,$D2073E5007892233,$05F5DDA62B2F8EBA,$6A1D40095F36BDB4,$40A7F1018801E199,$01358E3E7DB1BA00,$6555D9E774428274,$8FB900D2293910B6,$E2FFA80504C44535,$1B68EB7402A88AEA
    Data.q $565DC2B8F0ACEA9D,$5FCF055CD379757C,$2468CDDB63E5691D,$40148E9029C83D68,$EF414F15E39BAFCF,$02625C1F1F445FEE,$3B75679596DE44E8,$F55D8DE80291D205,$099653CFCCF4F05E,$8D72CA6A86FF5819
    Data.q $CB01ACDA44F91D33,$785E9E36985034B7,$970787D031EA22A0,$F055AD6FF5044B2A,$55C9D3D4F7CFFF60,$11CCC965BA0800A5,$4CCD0D2DBA78004A,$D6E1D1260A4B4F1F,$8825474B7B99D2EF,$0A4B4E9E2D4FFBC6
    Data.q $75013241BB300953,$4B9A75A78043C39C,$8F9675F50E5E67A9,$DA22E2F0E638400A,$65526797D69F3F37,$FC568CDFA88644D6,$2C3A7FC1C18ED3C1,$A97A64C672B4030F,$74C5E599FA40F02B,$E0CAC17AF858B2DA
    Data.q $1CDFA00909CF77AE,$40F051CD37D7A36B,$CD1774D968F373BD,$E80538A258D13A9D,$177F9CD471D4D4CE,$C50707FA57F7D61E,$B9E1F880F5151445,$3E80682CA3B674B9,$03DCAFB85E94B439,$3AA8828E4E63B410
    Data.q $9E04E2CEC99103DB,$B40F0E845C080C26,$0DED76402FD0A9AF,$19080282AA6B2BA9,$6B410011B2CEC5D8,$D7A806E4CFD432CA,$B1018BD4007C5E8C,$58E853A57DD03EB3,$820782F9009F4CDB,$A46B1EF7A0060B4B
    Data.q $121621005E79B59D,$C51D002716371900,$42992CEAC3C1D880,$E557040238675A47,$C7D004E6373B200B,$597281434F685A87,$F1400CD3339D403A,$7661B49D9E0C900A,$2D95B4F52A71A7B6,$18A020BEABB3C139
    Data.q $8015B8E91AFB67E8,$48131F5A4701B76F,$459390314E4029C7,$EE9E689E972F3ADA,$C6DED0AE61600881,$AEC2CA7323211E69,$64E86BBA97A6A86E,$01C3B5AEB4ED197B,$CFA8A78BAB60641C,$A006FB04214BC86D
    Data.q $84E6797C29080438,$3D067940F5D22180,$BDA56C9D59619158,$6DBEF10810AA058D,$26B29655536872F3,$C341D870554F67DB,$82FEB85E6438E0E0,$801B270A9A7861DC,$E3C9BCA20185D5E2,$5650B2920A8560D4
    Data.q $8BAC9C5067C182AC,$1C07BA49576C709D,$DA04CA68BB005CFC,$E38A00631D4F3AD3,$87C65345BE2B9A20,$0D09161409A01204,$C0EB9EA94515F452,$60E756504C64955D,$0686F97F8FFA0EEF,$30B2112801ACFC7F
    Data.q $424587EC3C18F4A4,$E38B05D7CD29CEF1,$32B9B4B935DD980F,$836B053761A5846B,$7F46DCEEF767C4CF,$CFFDFFDB099FE6FA,$1C500346AEC9F4B7,$391A03C694EED402,$42C10990B00AF8A0,$40026B022B039DD8
    Data.q $6D704CB0D7841300,$5C4C00B0096E0600,$5D29767EA94B345F,$F110EDFB7D12E979,$55370FA4DEAFCDF6,$021C500354F2C0D2,$A65A600F1A481F94,$E39354E9198AD1A7,$C107770543093152,$F2B0A097DF89D9FD
    Data.q $E67415B9D6A78F26,$81E57DDFF5F4D3F0,$E57ABE8CFCBEBFE6,$B4C9B6ADE81C0780,$E3153335CF8324BA,$2C127785D901A208,$57536455D68EEE89,$5C02514D14B52659,$953F20B56C93D995,$EFA2E153AEB62FEE
    Data.q $3E987B3F6F4E9A2D,$9AFE1FE3FA55EB7D,$18F93D3F47DAB83E,$574E2F2E94BC3FF5,$19930D73AC3830B0,$14A00BE2D4663BDC,$89BE370A7B8203CC,$2CA6D9D1E6D7F694,$9521BE74A2996FEA,$597266433C14B2AA
    Data.q $19B86CFF8954427C,$00663B2AA7A6F8A7,$3FBB3A7147507AC9,$18C401A258024F03,$AC708A85E67A46B0,$CAD2CADAB6A641C0,$470A66AD69CA2733,$5F822E41CDD48082,$64EEFAAF641C5D64,$B948A4582AB21205
    Data.q $9D34ABAB5C1A5835,$B608A4666A5DF21A,$0249A80304C42CCD,$BB2800776E3D05C4,$D12B2EAA42E02322,$64FA65BE3AC2B4BE,$CDDDAD93C937905A,$13D9498212C9C6CE,$DA846C4564D92015,$AA735E392992800D
    Data.q $D7035F3CA9764FEE,$00CA86E60C65F5C5,$51710FAA72001634,$02019CADF70EC710,$3B017679C21F5C24,$FB880518D00349BB,$2E19D555322B1B57,$17129AD502B1F64B,$3A2E79C1D1772A6D,$03552ECD4BA2EB5E
    Data.q $30C680190F11F5C2,$85D0C6DCA39AFE40,$909157A67342EAEC,$652C6801AA596375,$6655764FE400A161,$5E09400C720BC3A9,$81E0BE40268C1C50,$359F11EE554FD78E,$01DDC7527285273F,$32A39E1FE27466D4
    Data.q $DC238D376EBA468D,$F4CECC76803F8516,$31314CDECEE0159A,$F7AA8E0F7149C14E,$02CB46FC15F2A320,$D3DE59B6D1716B5D,$E990D28E7BB5F843,$98B5C3BACB9FC7C4,$0C193150618E2640,$B4D6F5F44A94266E
    Data.q $B33DA2EC5D5CE011,$8920CDE2A237679D,$6D9271BFD6E6A995,$A776D536CBEF710D,$9957342AE2A0FEE9,$979E9FFB0BA1CDB9,$EDE548EEA47652A6,$A65783AB44C1D500,$24669EB0FD3DA58A,$8883E880C2D33947
    Data.q $F3EB7E9110728399,$91CE6EDB5C2D2396,$206830B46ED40014,$E3C138EF1078251A,$91AA29E3DE05256B,$F08AA660E7550700,$28F317A3440C168D,$13B1E0FE08DAEC78,$AAFE45C421E2152C,$06DF274E1F9BB2D2
    Data.q $62A3C118E03B7322,$E8759CB13B25A71E,$69757D62A105A84B,$B80AB50A88919ABA,$11011ECC2D4FEFAD,$75526C47DA666FFA,$73C07A6677BC2055,$C3185E818029639E,$3EB86B150A804BE2,$401E8C705326B151
    Data.q $795730696303F87D,$560864BCDFCB6CF5,$9F3EE7446E5D40E1,$9BEA70DEDBF6CC69,$5EE6F098ECFC5CE1,$D749D18D8A643F37,$21C4341AA27324A9,$12CBE06B3B6452FA,$0C028651697396A0,$70824B9FC0D606EE
    Data.q $89D3B1A050A6BB3C,$1E261EDA113AE1FA,$A9ECEFF883400E8A,$C9F63341EB86EE1A,$56360624757FC6C1,$DCCCAE10FEDCE802,$C369E2FB29923A5F,$2CEE08048E710656,$2A10AC113191E191,$583BA016450AC6E9
    Data.q $4A71FA678656C9FD,$7A2DC2A161E0163D,$69F6284500966466,$4C8199BC8A0BBC2E,$C9B8280A249F11D9,$3E9724ABDD4F67C2,$B7D43F7EAA9ADEBF,$A22BD080191F5A4C,$1B6C89BA9E39D56D,$753479D490284CC8
    Data.q $A5DC0593757AC4FB,$270D675B4424DF43,$987409661FE9EE08,$9F792F33BB950D00,$D08F144641F63D41,$EFFD0CFD787F8C00,$0093DE1B4E437E7F,$C6E3239F791FAE9D,$5DFA1A8EE0596CC2,$C175CDE2898E214E
    Data.q $F22BE9FF6F9A012D,$6BC0A07CDD22C1B7,$C31614C86BDF114E,$AEF4ABA7F7DD4803,$37E543EF3BA991A5,$8AF1C2D16E0AB19A,$080160A9DB9C3FAE,$F9C58E1BA04B9DB8,$0EDCCBA67ABB9F4E,$FDB8A9E9A9000238
    Data.q $DFD221C2C8FF1E8A,$F14588144021BB68,$23CBC0E3FD55C1B5,$A7BF0854B09395DC,$B240048A006D32BB,$106EE0A4804B117D,$0DB15F115804030C,$60F82A6FCFF7FB80,$545DC8061CF982C9,$6803240048A0F534
    Data.q $77F47F02CB41FF59,$75C694362FD296D6,$F3C3E2F0DB76F626,$A0C8699F118BC30D,$DA160FFBD137760F,$06110D0DF113C402,$65B5D154C78C4E48,$D7C7F425E6C2E853,$FB47D07617DBA49E,$F2AE6A451DABD397
    Data.q $DA260A0058030268,$DF9D2670B3D35C73,$7DFF4EDE9D1F4ADC,$6D6E8FB2FD0D1CF3,$114748A9900B6D9D,$EA48067EF2222E20,$5D076F7D74BDCBCB,$8A548A2B7D40D2DB,$B82C06882585418C,$D014D5D60061803E
    Data.q $0143BBB2BA2AB6DE,$32E8C0569CEFAFF3,$D8EF7A764029C500,$9AF4E87B91E57A7A,$E7D5F694A2B53A06,$EB5E2978181515AA,$FEF20C78E14850CE,$F6FD0243080542C6,$00324E281D92AF62,$DB33EBF4BE401025
    Data.q $400C30182938003C,$151138DDBFD00649,$0190032006400C40,$6FBA0564FE803028,$32D4CD1D1DA1E91E,$67508EE7A62A8CB7,$9EEF46DB5FED3563,$E0D5DD00320065D9,$CAEA8DBBB274BDCB,$B2BB001271A0BC8B
    Data.q $3C0201D92801837F,$80B8DA5152A6CA4B,$972CA756D0DA91E1,$4699AF6A01492801,$B82080643CFE9385,$CEE2F40212500335,$B93E8201709E0A95,$6BAD006C9400CFB8,$03215AA140188928,$52C935DB5756CD90
    Data.q $DD9A96354B2AA581,$D7DA012C7C69685A,$CAF7CB5E0903DF3E,$0C42C4200C4426B3,$C08FD87264226205,$E3343FC8019D991C,$BF21F66921BB152D,$B4ED52DC10038510,$F3B3EB080C300F34,$6A6D4FFB958E788F
    Data.q $D7777E7AF8C304F3,$FEFFDF4C82004008,$4E38403A240F31FA,$BBBA402973EF173F,$681F954E0DC807A4,$0E87008054288282,$D005ED5F1ED7AE8C,$1012890B6D1A8791,$6F8E8048C7C22B27,$07A4A8015AD3E559
    Data.q $0905152CCFE002C8,$55EB07976E442D8E,$0CECA4201346EB8E,$6200EDE548606711,$868036B6200BE1AB,$900F4949EAFE910B,$40E136C5A17FC835,$7AE69A99ABEDAE54,$109FCBEEC617542E,$45C0656BB38BB0FF
    Data.q $1F7847705238C539,$D256AC2442D02F2E,$8F00230B5976E402,$C4017DFBB333F2A3,$09C8EE0803B29137,$5A38B7360FDF7D18,$EC3066715C556420,$4CC7A5C01C587552,$15259AD2401DAE7C,$B5F480102780B140
    Data.q $F5974B2CAE201262,$7E6C023F6ACDA9C1,$455AD6DA018A960F,$8B45419E7BF8FF5F,$01CE0308961B0782,$D852B08C0E5717F0,$C6E0386160804907,$802A49F5A4996957,$100B84F0EA2B6EDC,$660223B5A1CEF443
    Data.q $5CF1A5FDF7850029,$3A012DCFE36C41DB,$01F3852B74A80440,$626A80264B059D92,$00FE540A00244F01,$80C8EAC062C380C2,$E19D1214C7804EDA,$560804B13C158829,$63AA1A70B0BD1228,$008B1E6AEBB7201E
    Data.q $D412505FEEEAE0B1,$CE99BBE9163E0E74,$C0100AB1AAA01BE1,$D6182102C1B99081,$6C82175C1007F101,$258F3569EE754CD3,$1FE387FD446C5080,$4850080065706564,$0420783B698322CB,$40BB3324F3AE9CC7
    Data.q $0080344CCA01593A,$95820B6C840A2C08,$1C31C297BD323401,$491AD234C4020103,$651C17A4025FB080,$006384CB04EB045C,$064A5E326007BE1A,$D900289B542B0617,$8B8DA1F509FD0C15,$5CCA2A9D920CF966
    Data.q $58592C9F73B50E89,$1457040098AF7DB8,$ADFCEEE0CADC3428,$10314EC72B1CBBF3,$29FCE6EE91011517,$58E146B131D12B59,$38B0D32B25372720,$82C169E9027ACB4E,$2881FCA2E10C1538,$1ADD4585EC64B733
    Data.q $ABBA8699CB441B85,$1301D577185D640A,$9CB6CD03E0616160,$1CE9E64C705E922C,$5EB15DFA10048939,$0030F2D971032858,$4CFA402E143EB945,$100D62C7F42DB844,$928AF3EA1DDD2462,$A430BB3C5A503E75
    Data.q $EF3A4771D19208E5,$04AC466D2E689E0F,$8F2DE91B10900677,$CC32B52C60A80564,$09E26BA409D1F8DA,$4D19B58813EF9E20,$E7D92E2CE7403880,$DCCE1050403B9744,$F311A1F3920050A1,$117AE2001E3A2570
    Data.q $3195599F78834C4F,$D2CDC33258498D9C,$AC29F4B4C8617542,$201344F29721AE98,$116E724A6B915B39,$6B6F1EB2CC7C4BC4,$0D630BF7C4D26004,$82140CD78D0F9C90,$6386031EF0DAE969,$C961EE681E689CE4
    Data.q $0526644807D817D5,$241994083E6B2497,$32535CACA9E590D9,$F480291446B14500,$EC7DE683CF0C71EF,$2F4FE15DB44E78F2,$2C030BAFA3BEA20A,$A400F3CBEF91F75C,$1001A35FD3062801,$DF85C5C8FD97D120
    Data.q $C89AC06ACBCCBCDF,$B0F4972A715CA966,$B7AF549E574D928B,$6F1CD40181400C30,$A0B40255B37A4100,$484B40C16E2BC328,$09C77D711AD8BAE0,$2758580DE977EE20,$0E97DD2402825003,$82013EFDA5FB7410
    Data.q $4D3642FABC380245,$8C639D3312188075,$E8074A0759A08400,$EC404200BC7A27A7,$2280187057D2CBD4,$4AEC840368ED5007,$6CCE803FBDF15536,$B3F659061005EE59,$802F960E97991AF0,$3AB728A0066909F4
    Data.q $EA9E670214900122,$AA9E65B2FA400A1A,$033BBA5E3840281A,$5E30B948B1339450,$6080503E6EB4EA81,$0AB2402C142B7471,$00522CBF728A006D,$3DA5D005F1E32DD9,$00FE42B3B2016DAB,$801A1095CE185992
    Data.q $F509C900A8510CA2,$03A41FEEECECEDFA,$1C02016DBBB3ABF4,$2AD2D30421BA4000,$E442CE5AB57100E9,$0A8510CA2801931A,$607AEC980D0F9C90,$2F103ABB201D18F2,$6A15E90DD23001DB,$A6572E7CDA071009
    Data.q $87A01D4E43797BF9,$2C1442E1400D524A,$784E11EA1925ED40,$D765D640EB4F1CE0,$47EBF2C70C6E978D,$218456C402D9D557,$B8716931BDC3AB60,$F65368DE4716C195,$A223C30FCF15F0CE,$DA9D3F10092958F0
    Data.q $6A60DE8144061400,$45AED0FD88D66573,$539CE0787341EAA5,$2F715AD959365DE7,$C1825D748CC79F4C,$AD264FBD041957AB,$EBEBE37ABE8E2C0B,$B2B499651D381547,$AC06788AC9E235C8,$C402E1C5483FC801
    Data.q $DD24ABBAF083B8B7,$611CAA7B89E8240B,$D969D51B40867642,$E38332BC366BD78D,$38B83202F6DBBB1F,$B0785A9E14873A7D,$AA454B7CB63D56A3,$65170F93D7AA767A,$20060A2751228018,$A28ADC755C9AEED6
    Data.q $B1574DD736985B54,$8365098B185A9E12,$9A0ADD2381A29E57,$D9553DE400F7EB2E,$018E41787D369F3E,$850CE69CD2880828,$13C1CE1C5C149002,$CE770EA06260ED9E,$8121FDD5D5F540F3,$702C04334F065882
    Data.q $3C5D59802604784D,$1D94ADDD9CAE3D45,$00DA8D3F0DB56F40,$80657B77B6441C14,$4F0A480243334ABA,$C9C70606B8F1C676,$41CF3D8A1B5B4142,$C07218FC30C427F5,$FD3A12C0C2C3EB82,$E9C5E5D2A7EBC72C
    Data.q $2801B6634CE7D6B6,$E28EA00EC8BAE08C,$1D70A565F201B0F4,$386CA6B59F5C0958,$F9039C290C18810E,$2C0DB1096E0A4502,$78F891619F53D38C,$3F34031A5C045003,$05C2BEC8402D9277,$EB0D07F1A5829A28
    Data.q $0273CDAFED1A6B7A,$9AAA35BC1190DFA8,$C6D203FEEBD65851,$D4099321005ED959,$74594DB3980AC402,$E5879BCF507A6975,$9F9BF7E1B2C0F091,$D8422A1AF500C293,$21BC7F5A676B8BCA,$6A9ED227324B11FC
    Data.q $509BE207B11D34EF,$E80397818E031D07,$9A1739D572EA074F,$300C11EB032C5533,$F8A9748F31C6802C,$019E369856EFC0C7,$32F3F1B8843437CA,$9746C5D3C753B9A0,$E5976C4042C44FA7,$161AF000489B1A04
    Data.q $B829BBA240A14EC1,$04167F6DB30B53B4,$FF1344D6654F0CDF,$A212834B14A00844,$AB45DEBA745D5A37,$B543840867748E67,$425F1EBAC104B044,$F95AC14AC1EB83DC,$BBFCEA0461B86CFA,$9F58C86781EA9DCC
    Data.q $CB2A0CAEC95440C8,$DBB7A24D37CF471C,$A402B54B9E70745C,$85832B833B270B4B,$20BB1E580003C0C0,$5062658F54B2C6F8,$82471610EE306100,$947E8CC9A81E59A3,$9ECCF68E36969A20,$590916E9201306A8
    Data.q $0D00D5886965BC4C,$29790D58AAECD1AA,$3D466ED9EFC1E632,$C6A50FF896ECEE3A,$574488D143F4F1FC,$C5030956BBECCF7B,$B70560ED827083ED,$65C2A719584B85C4,$AD2098C92A24FE73,$82E8ED19A575DC0E
    Data.q $A264B6B411AD2BD4,$C252A3419BA48D8A,$A60A5E21400E2EC4,$50074B0908ABE810,$DC82D3F8DFAE5D70,$66290C27721C1D14,$A001B5FA8D676384,$CA4F2458461319CE,$B36DA2EB5E3BED6C,$67D5C024BD3ABA46
    Data.q $3E1E7C2E87020527,$42959D6D176AB1F7,$E5826FD3817BA7CB,$A43B9FFDDF2903D1,$D2ACBC526B27B6BB,$0213B1C3CD136988,$824A6B03CA300C71,$82D7085CE0E70407,$6D58E8BA16E7ED70,$8668351EC88EB28A
    Data.q $01A5BB5307F1380C,$F4898A9EA6012ADD,$5AD7E5A72149FA83,$D811F5C18EBE4A5C,$D7CFC2C300DA0AC3,$6B27D4C062555C6D,$82826D36D496B248,$3EB9D90F030A560A,$B9C1CE1C7C06CA16,$5807056513802CB0
    Data.q $F049A0634B6E3BA0,$A0EC06EAEDC9A978,$6EA3C4B3B8EE908A,$C9A9F8824A7B8D80,$E820DCFA8547D83D,$D26F9F776B8ED3EA,$9B33666CCD99B36E,$5492AA7FFB77E2D9,$000000301CB5F706,$6042AE444E454900
    Data.b $82

EndDataSection

Enumeration 1
  #Fenetre
  #ImageGadget
  #TrackBarGadgetTeinte
  #TrackBarGadgetSaturation
  #TrackBarGadgetLuminosite
EndEnumeration

If OpenWindow(#Fenetre, 327, 177, 170, 350, "...",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar)
  Image.i = CatchImage(#PB_Any, ?Poisonicon)
  ImageGadget(#ImageGadget, 10, 10, 150, 150, ImageID(Image.i))
  
  TextGadget(#PB_Any, 10, 170, 150, 15, "Teinte:", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetTeinte, 10, 185, 150, 25, 1, 25, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetTeinte, 13)
  
  TextGadget(#PB_Any, 10, 220, 150, 15, "Saturation:", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetSaturation, 10, 235, 150, 25, 1, 25, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetSaturation, 13)
  
  TextGadget(#PB_Any, 10, 270, 150, 15, "Luminosité:", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetLuminosite, 10, 285, 150, 25, 1, 25, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetLuminosite, 13)
  
  Repeat ; Départ des évènements de boucle.
    
    Event = WaitWindowEvent(1) ; Cette ligne attend pendent (Minuteur) qu'un évènement soit recus par la fenêtre.
    EventWindow = EventWindow(); La fenêtre oû l'évènement c'est produit.
    EventGadget = EventGadget(); Pour savoir sur quel gadget c'est produis l'évènement.
    EventMenu = EventMenu()    ; Pour savoir sur quel menue c'est produis l'évènement.
    EventType = EventType()    ; Le type d'évènement qui c'est produis sur le gadget.
    
    Select Event 
        
      Case #PB_Event_Gadget
        
        Select EventGadget
            
          Case #TrackBarGadgetTeinte
            
            
          Case #TrackBarGadgetSaturation
            
            
          Case #TrackBarGadgetLuminosite
            
            
        EndSelect
        
      Case #PB_Event_Menu
        
        Select EventMenu
            
          Case 0
            
        EndSelect
        
      Case #PB_Event_CloseWindow  
        
    EndSelect
    
  Until Event = #PB_Event_CloseWindow ; Fin des évènements de boucle.
  
EndIf

Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Comment changer la Teinte Globale d'une image...

Message par Ar-S »

Ton programme ne marche pas uniquement parce que tu n’envoies AUCUN événement sur tes trackbars.
C'est à se demander si c'est toi qui fait tes autres codes... Là c'est la base du purebasic ! Je ne suis pas content ! :x
Tu gères des évènements !
Lorsque l'utilisateur fait telle action sur tel gadget, il se passe tel évènement.

Code : Tout sélectionner

Case #TrackBarGadgetTeinte
           
;ICI TON CODE POUR MODIFIER LA TEINTE
           
          Case #TrackBarGadgetSaturation
           
;ICI TON CODE POUR MODIFIER LA SATURATION
           
          Case #TrackBarGadgetLuminosite
           
;ICI TON CODE POUR MODIFIER LA LUM
           
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Comment changer la Teinte Globale d'une image...

Message par falsam »

Quelques procédures complémentaires de LSI en principe. Tu pourras faire des compléments de réglages.

Code : Tout sélectionner

ProcedureDLL.l ColorLuminosity(Couleur, Echelle.f) ; Eclaicir ou foncer une couleur
  Protected Rouge, Vert, Bleu
  
  Rouge = Red(Couleur) * Echelle
  Vert = Green(Couleur) * Echelle
  Bleu = Blue(Couleur) * Echelle
  
  If Rouge > 255 : Rouge = 255 : EndIf
  If Vert > 255 : Vert = 255 : EndIf
  If Bleu > 255 : Bleu = 255 : EndIf
  
  ProcedureReturn RGB(Rouge, Vert, Bleu) 
EndProcedure

ProcedureDLL.l ColorContrast(Couleur, Echelle.f) ; Constrater la couleur, échelle négative pour diminuer et positive pour augmenter.
  Protected Rouge, Vert, Bleu
  
  Rouge = Int(Red(Couleur) * Echelle + 127 * (1 - Echelle))
  Vert = Int(Green(Couleur) * Echelle + 127 * (1 - Echelle))
  Bleu = Int(Blue(Couleur) * Echelle + 127 * (1 - Echelle))
  
  If Rouge > 255 : Rouge = 255
  ElseIf Rouge < 0 : Rouge = 0 : EndIf
  If Vert > 255 : Vert = 255
  ElseIf Vert < 0 : Vert = 0 : EndIf
  If Bleu > 255 : Bleu = 255
  ElseIf Bleu < 0 : Bleu = 0 : EndIf
  
  ProcedureReturn RGB(Rouge, Vert, Bleu) 
EndProcedure

ProcedureDLL.l ColorGrey(Couleur.l) ; Rendre la couleur en nuance de gris
  Couleur = (Red(Couleur) + Green(Couleur) + Blue(Couleur)) / 3
  ProcedureReturn RGB(Couleur, Couleur, Couleur)
EndProcedure

ProcedureDLL.l ColorRedIntensity(Couleur, Echelle.f) ; Eclaicir ou foncer la composante rouge d'une couleur
  Protected Rouge, Vert, Bleu
  
  Rouge = Red(Couleur) * Echelle
  Vert = Green(Couleur)
  Bleu = Blue(Couleur)
  
  If Rouge > 255 : Rouge = 255 : EndIf
  
  ProcedureReturn RGB(Rouge, Vert, Bleu) 
EndProcedure

ProcedureDLL.l ColorGreenIntensity(Couleur, Echelle.f) ; Eclaicir ou foncer la composante verte d'une couleur
  Protected Rouge, Vert, Bleu
  
  Rouge = Red(Couleur)
  Vert = Green(Couleur) * Echelle
  Bleu = Blue(Couleur)
  
  If Vert > 255 : Vert = 255 : EndIf
  
  ProcedureReturn RGB(Rouge, Vert, Bleu) 
EndProcedure

ProcedureDLL.l ColorBlueIntensity(Couleur, Echelle.f) ; Eclaicir ou foncer la composante bleu d'une couleur
  Protected Rouge, Vert, Bleu
  
  Rouge = Red(Couleur)
  Vert = Green(Couleur)
  Bleu = Blue(Couleur) * Echelle
  
  If Bleu > 255 : Bleu = 255 : EndIf
  
  ProcedureReturn RGB(Rouge, Vert, Bleu) 
EndProcedure
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Comment changer la Teinte Globale d'une image...

Message par Shadow »

Merci Falsam,

J'ai commencé, c'est pas tip top mais c'est un début déjà.

Code : Tout sélectionner


UsePNGImageDecoder()

DataSection
  Poisonicon:
    ; size : 5841 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$9000000090000000,$E246E70000000608,$58457419000000B8,$72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA78544144497316
    Data.q $C795D75470699DED,$0B4458AA6A6A61F3,$84245680A0AD0DA1,$8C06124585A10900,$6601181566CB6324,$4086EC21B63630B3,$991C431B6360406C,$2F1C1C4A2706ADE0,$193388794E38CC71,$314CCAE533535D95
    Data.q $D4D572535355ACCE,$4FAAFFDE672F997C,$ADD5BBDEBDFB7473,$EF7EBD6A5FEAAFBE,$EF7DEF59D3FBA4B5,$3666CCD99B31DF3B,$4DB996F6F6E9C5B3,$EDAED4B51D2D7A9A,$18C00A032D7F34AF,$DDE96BDB97F834B0
    Data.q $7D056C787D2B17C7,$A2D53E6EA7DDB27C,$FCEB21A6DED9FD8E,$37CA5B752CFA965B,$E078060D0BB1DD7F,$7D9E9F2415EABB27,$E6F97D3D717F3E80,$DFA61F57FBF5B08E,$97278BF5C1487C5E,$8018D4AC650371DC
    Data.q $83086682C6960526,$B7F4FE30048E818B,$0AD03BDF402AB6D7,$A9E131224664D4EB,$F733ADE0DD48F1BC,$2059CAC1271A04C5,$F433CB3C491199F5,$91691E1547BA57BB,$C49919A8ECB43FDE,$05C6368F27F7A801
    Data.q $23321C1EFACFAC3C,$9AB1B6BD1D003893,$0C42006E28BDDB5E,$B93A2E32B1264666,$E2B52B82202E24BC,$0680281264665BB1,$AFCF4415CA3AE740,$6853135BEEBF4B9B,$A41E178BE7B8AD06,$DA9059F843DC4F4F
    Data.q $B85E86882C49919B,$3AE6F2F58802967F,$0E37E01AA74CF9BA,$BDB074355DE3A4AE,$47EEFD1B78F47E92,$6FE85BFDCB07E13D,$CFA76B9FB7475E5E,$0CC5E9E8FA572D4F,$E06802C49519B750,$BA3D6200239543F2
    Data.q $E3D08CE7563690B0,$86D2E6FD4ACAA56D,$FBF48D95E2F98180,$F9F49D73EDD0D717,$A27FDEA4681E15E9,$C4CB44EA55320189,$AEA3B402DB57D7FA,$7BD472734DA00BC0,$86D69E8DBD037B70,$AEC0D040DC3DB42E
    Data.q $435818E148D0B605,$D2073E5007892233,$05F5DDA62B2F8EBA,$6A1D40095F36BDB4,$40A7F1018801E199,$01358E3E7DB1BA00,$6555D9E774428274,$8FB900D2293910B6,$E2FFA80504C44535,$1B68EB7402A88AEA
    Data.q $565DC2B8F0ACEA9D,$5FCF055CD379757C,$2468CDDB63E5691D,$40148E9029C83D68,$EF414F15E39BAFCF,$02625C1F1F445FEE,$3B75679596DE44E8,$F55D8DE80291D205,$099653CFCCF4F05E,$8D72CA6A86FF5819
    Data.q $CB01ACDA44F91D33,$785E9E36985034B7,$970787D031EA22A0,$F055AD6FF5044B2A,$55C9D3D4F7CFFF60,$11CCC965BA0800A5,$4CCD0D2DBA78004A,$D6E1D1260A4B4F1F,$8825474B7B99D2EF,$0A4B4E9E2D4FFBC6
    Data.q $75013241BB300953,$4B9A75A78043C39C,$8F9675F50E5E67A9,$DA22E2F0E638400A,$65526797D69F3F37,$FC568CDFA88644D6,$2C3A7FC1C18ED3C1,$A97A64C672B4030F,$74C5E599FA40F02B,$E0CAC17AF858B2DA
    Data.q $1CDFA00909CF77AE,$40F051CD37D7A36B,$CD1774D968F373BD,$E80538A258D13A9D,$177F9CD471D4D4CE,$C50707FA57F7D61E,$B9E1F880F5151445,$3E80682CA3B674B9,$03DCAFB85E94B439,$3AA8828E4E63B410
    Data.q $9E04E2CEC99103DB,$B40F0E845C080C26,$0DED76402FD0A9AF,$19080282AA6B2BA9,$6B410011B2CEC5D8,$D7A806E4CFD432CA,$B1018BD4007C5E8C,$58E853A57DD03EB3,$820782F9009F4CDB,$A46B1EF7A0060B4B
    Data.q $121621005E79B59D,$C51D002716371900,$42992CEAC3C1D880,$E557040238675A47,$C7D004E6373B200B,$597281434F685A87,$F1400CD3339D403A,$7661B49D9E0C900A,$2D95B4F52A71A7B6,$18A020BEABB3C139
    Data.q $8015B8E91AFB67E8,$48131F5A4701B76F,$459390314E4029C7,$EE9E689E972F3ADA,$C6DED0AE61600881,$AEC2CA7323211E69,$64E86BBA97A6A86E,$01C3B5AEB4ED197B,$CFA8A78BAB60641C,$A006FB04214BC86D
    Data.q $84E6797C29080438,$3D067940F5D22180,$BDA56C9D59619158,$6DBEF10810AA058D,$26B29655536872F3,$C341D870554F67DB,$82FEB85E6438E0E0,$801B270A9A7861DC,$E3C9BCA20185D5E2,$5650B2920A8560D4
    Data.q $8BAC9C5067C182AC,$1C07BA49576C709D,$DA04CA68BB005CFC,$E38A00631D4F3AD3,$87C65345BE2B9A20,$0D09161409A01204,$C0EB9EA94515F452,$60E756504C64955D,$0686F97F8FFA0EEF,$30B2112801ACFC7F
    Data.q $424587EC3C18F4A4,$E38B05D7CD29CEF1,$32B9B4B935DD980F,$836B053761A5846B,$7F46DCEEF767C4CF,$CFFDFFDB099FE6FA,$1C500346AEC9F4B7,$391A03C694EED402,$42C10990B00AF8A0,$40026B022B039DD8
    Data.q $6D704CB0D7841300,$5C4C00B0096E0600,$5D29767EA94B345F,$F110EDFB7D12E979,$55370FA4DEAFCDF6,$021C500354F2C0D2,$A65A600F1A481F94,$E39354E9198AD1A7,$C107770543093152,$F2B0A097DF89D9FD
    Data.q $E67415B9D6A78F26,$81E57DDFF5F4D3F0,$E57ABE8CFCBEBFE6,$B4C9B6ADE81C0780,$E3153335CF8324BA,$2C127785D901A208,$57536455D68EEE89,$5C02514D14B52659,$953F20B56C93D995,$EFA2E153AEB62FEE
    Data.q $3E987B3F6F4E9A2D,$9AFE1FE3FA55EB7D,$18F93D3F47DAB83E,$574E2F2E94BC3FF5,$19930D73AC3830B0,$14A00BE2D4663BDC,$89BE370A7B8203CC,$2CA6D9D1E6D7F694,$9521BE74A2996FEA,$597266433C14B2AA
    Data.q $19B86CFF8954427C,$00663B2AA7A6F8A7,$3FBB3A7147507AC9,$18C401A258024F03,$AC708A85E67A46B0,$CAD2CADAB6A641C0,$470A66AD69CA2733,$5F822E41CDD48082,$64EEFAAF641C5D64,$B948A4582AB21205
    Data.q $9D34ABAB5C1A5835,$B608A4666A5DF21A,$0249A80304C42CCD,$BB2800776E3D05C4,$D12B2EAA42E02322,$64FA65BE3AC2B4BE,$CDDDAD93C937905A,$13D9498212C9C6CE,$DA846C4564D92015,$AA735E392992800D
    Data.q $D7035F3CA9764FEE,$00CA86E60C65F5C5,$51710FAA72001634,$02019CADF70EC710,$3B017679C21F5C24,$FB880518D00349BB,$2E19D555322B1B57,$17129AD502B1F64B,$3A2E79C1D1772A6D,$03552ECD4BA2EB5E
    Data.q $30C680190F11F5C2,$85D0C6DCA39AFE40,$909157A67342EAEC,$652C6801AA596375,$6655764FE400A161,$5E09400C720BC3A9,$81E0BE40268C1C50,$359F11EE554FD78E,$01DDC7527285273F,$32A39E1FE27466D4
    Data.q $DC238D376EBA468D,$F4CECC76803F8516,$31314CDECEE0159A,$F7AA8E0F7149C14E,$02CB46FC15F2A320,$D3DE59B6D1716B5D,$E990D28E7BB5F843,$98B5C3BACB9FC7C4,$0C193150618E2640,$B4D6F5F44A94266E
    Data.q $B33DA2EC5D5CE011,$8920CDE2A237679D,$6D9271BFD6E6A995,$A776D536CBEF710D,$9957342AE2A0FEE9,$979E9FFB0BA1CDB9,$EDE548EEA47652A6,$A65783AB44C1D500,$24669EB0FD3DA58A,$8883E880C2D33947
    Data.q $F3EB7E9110728399,$91CE6EDB5C2D2396,$206830B46ED40014,$E3C138EF1078251A,$91AA29E3DE05256B,$F08AA660E7550700,$28F317A3440C168D,$13B1E0FE08DAEC78,$AAFE45C421E2152C,$06DF274E1F9BB2D2
    Data.q $62A3C118E03B7322,$E8759CB13B25A71E,$69757D62A105A84B,$B80AB50A88919ABA,$11011ECC2D4FEFAD,$75526C47DA666FFA,$73C07A6677BC2055,$C3185E818029639E,$3EB86B150A804BE2,$401E8C705326B151
    Data.q $795730696303F87D,$560864BCDFCB6CF5,$9F3EE7446E5D40E1,$9BEA70DEDBF6CC69,$5EE6F098ECFC5CE1,$D749D18D8A643F37,$21C4341AA27324A9,$12CBE06B3B6452FA,$0C028651697396A0,$70824B9FC0D606EE
    Data.q $89D3B1A050A6BB3C,$1E261EDA113AE1FA,$A9ECEFF883400E8A,$C9F63341EB86EE1A,$56360624757FC6C1,$DCCCAE10FEDCE802,$C369E2FB29923A5F,$2CEE08048E710656,$2A10AC113191E191,$583BA016450AC6E9
    Data.q $4A71FA678656C9FD,$7A2DC2A161E0163D,$69F6284500966466,$4C8199BC8A0BBC2E,$C9B8280A249F11D9,$3E9724ABDD4F67C2,$B7D43F7EAA9ADEBF,$A22BD080191F5A4C,$1B6C89BA9E39D56D,$753479D490284CC8
    Data.q $A5DC0593757AC4FB,$270D675B4424DF43,$987409661FE9EE08,$9F792F33BB950D00,$D08F144641F63D41,$EFFD0CFD787F8C00,$0093DE1B4E437E7F,$C6E3239F791FAE9D,$5DFA1A8EE0596CC2,$C175CDE2898E214E
    Data.q $F22BE9FF6F9A012D,$6BC0A07CDD22C1B7,$C31614C86BDF114E,$AEF4ABA7F7DD4803,$37E543EF3BA991A5,$8AF1C2D16E0AB19A,$080160A9DB9C3FAE,$F9C58E1BA04B9DB8,$0EDCCBA67ABB9F4E,$FDB8A9E9A9000238
    Data.q $DFD221C2C8FF1E8A,$F14588144021BB68,$23CBC0E3FD55C1B5,$A7BF0854B09395DC,$B240048A006D32BB,$106EE0A4804B117D,$0DB15F115804030C,$60F82A6FCFF7FB80,$545DC8061CF982C9,$6803240048A0F534
    Data.q $77F47F02CB41FF59,$75C694362FD296D6,$F3C3E2F0DB76F626,$A0C8699F118BC30D,$DA160FFBD137760F,$06110D0DF113C402,$65B5D154C78C4E48,$D7C7F425E6C2E853,$FB47D07617DBA49E,$F2AE6A451DABD397
    Data.q $DA260A0058030268,$DF9D2670B3D35C73,$7DFF4EDE9D1F4ADC,$6D6E8FB2FD0D1CF3,$114748A9900B6D9D,$EA48067EF2222E20,$5D076F7D74BDCBCB,$8A548A2B7D40D2DB,$B82C06882585418C,$D014D5D60061803E
    Data.q $0143BBB2BA2AB6DE,$32E8C0569CEFAFF3,$D8EF7A764029C500,$9AF4E87B91E57A7A,$E7D5F694A2B53A06,$EB5E2978181515AA,$FEF20C78E14850CE,$F6FD0243080542C6,$00324E281D92AF62,$DB33EBF4BE401025
    Data.q $400C30182938003C,$151138DDBFD00649,$0190032006400C40,$6FBA0564FE803028,$32D4CD1D1DA1E91E,$67508EE7A62A8CB7,$9EEF46DB5FED3563,$E0D5DD00320065D9,$CAEA8DBBB274BDCB,$B2BB001271A0BC8B
    Data.q $3C0201D92801837F,$80B8DA5152A6CA4B,$972CA756D0DA91E1,$4699AF6A01492801,$B82080643CFE9385,$CEE2F40212500335,$B93E8201709E0A95,$6BAD006C9400CFB8,$03215AA140188928,$52C935DB5756CD90
    Data.q $DD9A96354B2AA581,$D7DA012C7C69685A,$CAF7CB5E0903DF3E,$0C42C4200C4426B3,$C08FD87264226205,$E3343FC8019D991C,$BF21F66921BB152D,$B4ED52DC10038510,$F3B3EB080C300F34,$6A6D4FFB958E788F
    Data.q $D7777E7AF8C304F3,$FEFFDF4C82004008,$4E38403A240F31FA,$BBBA402973EF173F,$681F954E0DC807A4,$0E87008054288282,$D005ED5F1ED7AE8C,$1012890B6D1A8791,$6F8E8048C7C22B27,$07A4A8015AD3E559
    Data.q $0905152CCFE002C8,$55EB07976E442D8E,$0CECA4201346EB8E,$6200EDE548606711,$868036B6200BE1AB,$900F4949EAFE910B,$40E136C5A17FC835,$7AE69A99ABEDAE54,$109FCBEEC617542E,$45C0656BB38BB0FF
    Data.q $1F7847705238C539,$D256AC2442D02F2E,$8F00230B5976E402,$C4017DFBB333F2A3,$09C8EE0803B29137,$5A38B7360FDF7D18,$EC3066715C556420,$4CC7A5C01C587552,$15259AD2401DAE7C,$B5F480102780B140
    Data.q $F5974B2CAE201262,$7E6C023F6ACDA9C1,$455AD6DA018A960F,$8B45419E7BF8FF5F,$01CE0308961B0782,$D852B08C0E5717F0,$C6E0386160804907,$802A49F5A4996957,$100B84F0EA2B6EDC,$660223B5A1CEF443
    Data.q $5CF1A5FDF7850029,$3A012DCFE36C41DB,$01F3852B74A80440,$626A80264B059D92,$00FE540A00244F01,$80C8EAC062C380C2,$E19D1214C7804EDA,$560804B13C158829,$63AA1A70B0BD1228,$008B1E6AEBB7201E
    Data.q $D412505FEEEAE0B1,$CE99BBE9163E0E74,$C0100AB1AAA01BE1,$D6182102C1B99081,$6C82175C1007F101,$258F3569EE754CD3,$1FE387FD446C5080,$4850080065706564,$0420783B698322CB,$40BB3324F3AE9CC7
    Data.q $0080344CCA01593A,$95820B6C840A2C08,$1C31C297BD323401,$491AD234C4020103,$651C17A4025FB080,$006384CB04EB045C,$064A5E326007BE1A,$D900289B542B0617,$8B8DA1F509FD0C15,$5CCA2A9D920CF966
    Data.q $58592C9F73B50E89,$1457040098AF7DB8,$ADFCEEE0CADC3428,$10314EC72B1CBBF3,$29FCE6EE91011517,$58E146B131D12B59,$38B0D32B25372720,$82C169E9027ACB4E,$2881FCA2E10C1538,$1ADD4585EC64B733
    Data.q $ABBA8699CB441B85,$1301D577185D640A,$9CB6CD03E0616160,$1CE9E64C705E922C,$5EB15DFA10048939,$0030F2D971032858,$4CFA402E143EB945,$100D62C7F42DB844,$928AF3EA1DDD2462,$A430BB3C5A503E75
    Data.q $EF3A4771D19208E5,$04AC466D2E689E0F,$8F2DE91B10900677,$CC32B52C60A80564,$09E26BA409D1F8DA,$4D19B58813EF9E20,$E7D92E2CE7403880,$DCCE1050403B9744,$F311A1F3920050A1,$117AE2001E3A2570
    Data.q $3195599F78834C4F,$D2CDC33258498D9C,$AC29F4B4C8617542,$201344F29721AE98,$116E724A6B915B39,$6B6F1EB2CC7C4BC4,$0D630BF7C4D26004,$82140CD78D0F9C90,$6386031EF0DAE969,$C961EE681E689CE4
    Data.q $0526644807D817D5,$241994083E6B2497,$32535CACA9E590D9,$F480291446B14500,$EC7DE683CF0C71EF,$2F4FE15DB44E78F2,$2C030BAFA3BEA20A,$A400F3CBEF91F75C,$1001A35FD3062801,$DF85C5C8FD97D120
    Data.q $C89AC06ACBCCBCDF,$B0F4972A715CA966,$B7AF549E574D928B,$6F1CD40181400C30,$A0B40255B37A4100,$484B40C16E2BC328,$09C77D711AD8BAE0,$2758580DE977EE20,$0E97DD2402825003,$82013EFDA5FB7410
    Data.q $4D3642FABC380245,$8C639D3312188075,$E8074A0759A08400,$EC404200BC7A27A7,$2280187057D2CBD4,$4AEC840368ED5007,$6CCE803FBDF15536,$B3F659061005EE59,$802F960E97991AF0,$3AB728A0066909F4
    Data.q $EA9E670214900122,$AA9E65B2FA400A1A,$033BBA5E3840281A,$5E30B948B1339450,$6080503E6EB4EA81,$0AB2402C142B7471,$00522CBF728A006D,$3DA5D005F1E32DD9,$00FE42B3B2016DAB,$801A1095CE185992
    Data.q $F509C900A8510CA2,$03A41FEEECECEDFA,$1C02016DBBB3ABF4,$2AD2D30421BA4000,$E442CE5AB57100E9,$0A8510CA2801931A,$607AEC980D0F9C90,$2F103ABB201D18F2,$6A15E90DD23001DB,$A6572E7CDA071009
    Data.q $87A01D4E43797BF9,$2C1442E1400D524A,$784E11EA1925ED40,$D765D640EB4F1CE0,$47EBF2C70C6E978D,$218456C402D9D557,$B8716931BDC3AB60,$F65368DE4716C195,$A223C30FCF15F0CE,$DA9D3F10092958F0
    Data.q $6A60DE8144061400,$45AED0FD88D66573,$539CE0787341EAA5,$2F715AD959365DE7,$C1825D748CC79F4C,$AD264FBD041957AB,$EBEBE37ABE8E2C0B,$B2B499651D381547,$AC06788AC9E235C8,$C402E1C5483FC801
    Data.q $DD24ABBAF083B8B7,$611CAA7B89E8240B,$D969D51B40867642,$E38332BC366BD78D,$38B83202F6DBBB1F,$B0785A9E14873A7D,$AA454B7CB63D56A3,$65170F93D7AA767A,$20060A2751228018,$A28ADC755C9AEED6
    Data.q $B1574DD736985B54,$8365098B185A9E12,$9A0ADD2381A29E57,$D9553DE400F7EB2E,$018E41787D369F3E,$850CE69CD2880828,$13C1CE1C5C149002,$CE770EA06260ED9E,$8121FDD5D5F540F3,$702C04334F065882
    Data.q $3C5D59802604784D,$1D94ADDD9CAE3D45,$00DA8D3F0DB56F40,$80657B77B6441C14,$4F0A480243334ABA,$C9C70606B8F1C676,$41CF3D8A1B5B4142,$C07218FC30C427F5,$FD3A12C0C2C3EB82,$E9C5E5D2A7EBC72C
    Data.q $2801B6634CE7D6B6,$E28EA00EC8BAE08C,$1D70A565F201B0F4,$386CA6B59F5C0958,$F9039C290C18810E,$2C0DB1096E0A4502,$78F891619F53D38C,$3F34031A5C045003,$05C2BEC8402D9277,$EB0D07F1A5829A28
    Data.q $0273CDAFED1A6B7A,$9AAA35BC1190DFA8,$C6D203FEEBD65851,$D4099321005ED959,$74594DB3980AC402,$E5879BCF507A6975,$9F9BF7E1B2C0F091,$D8422A1AF500C293,$21BC7F5A676B8BCA,$6A9ED227324B11FC
    Data.q $509BE207B11D34EF,$E80397818E031D07,$9A1739D572EA074F,$300C11EB032C5533,$F8A9748F31C6802C,$019E369856EFC0C7,$32F3F1B8843437CA,$9746C5D3C753B9A0,$E5976C4042C44FA7,$161AF000489B1A04
    Data.q $B829BBA240A14EC1,$04167F6DB30B53B4,$FF1344D6654F0CDF,$A212834B14A00844,$AB45DEBA745D5A37,$B543840867748E67,$425F1EBAC104B044,$F95AC14AC1EB83DC,$BBFCEA0461B86CFA,$9F58C86781EA9DCC
    Data.q $CB2A0CAEC95440C8,$DBB7A24D37CF471C,$A402B54B9E70745C,$85832B833B270B4B,$20BB1E580003C0C0,$5062658F54B2C6F8,$82471610EE306100,$947E8CC9A81E59A3,$9ECCF68E36969A20,$590916E9201306A8
    Data.q $0D00D5886965BC4C,$29790D58AAECD1AA,$3D466ED9EFC1E632,$C6A50FF896ECEE3A,$574488D143F4F1FC,$C5030956BBECCF7B,$B70560ED827083ED,$65C2A719584B85C4,$AD2098C92A24FE73,$82E8ED19A575DC0E
    Data.q $A264B6B411AD2BD4,$C252A3419BA48D8A,$A60A5E21400E2EC4,$50074B0908ABE810,$DC82D3F8DFAE5D70,$66290C27721C1D14,$A001B5FA8D676384,$CA4F2458461319CE,$B36DA2EB5E3BED6C,$67D5C024BD3ABA46
    Data.q $3E1E7C2E87020527,$42959D6D176AB1F7,$E5826FD3817BA7CB,$A43B9FFDDF2903D1,$D2ACBC526B27B6BB,$0213B1C3CD136988,$824A6B03CA300C71,$82D7085CE0E70407,$6D58E8BA16E7ED70,$8668351EC88EB28A
    Data.q $01A5BB5307F1380C,$F4898A9EA6012ADD,$5AD7E5A72149FA83,$D811F5C18EBE4A5C,$D7CFC2C300DA0AC3,$6B27D4C062555C6D,$82826D36D496B248,$3EB9D90F030A560A,$B9C1CE1C7C06CA16,$5807056513802CB0
    Data.q $F049A0634B6E3BA0,$A0EC06EAEDC9A978,$6EA3C4B3B8EE908A,$C9A9F8824A7B8D80,$E820DCFA8547D83D,$D26F9F776B8ED3EA,$9B33666CCD99B36E,$5492AA7FFB77E2D9,$000000301CB5F706,$6042AE444E454900
    Data.b $82

EndDataSection

Enumeration 1
  #Fenetre
  #ImageGadget
  #TrackBarGadgetTeinte
  #TrackBarGadgetSaturation
  #TrackBarGadgetLuminosite
EndEnumeration

ProcedureDLL.l ColorLuminosity(Couleur, Echelle.f) ; Eclaicir ou foncer une couleur
  Protected Rouge, Vert, Bleu
 
  Rouge = Red(Couleur) * Echelle
  Vert = Green(Couleur) * Echelle
  Bleu = Blue(Couleur) * Echelle
 
  If Rouge > 255 : Rouge = 255 : EndIf
  If Vert > 255 : Vert = 255 : EndIf
  If Bleu > 255 : Bleu = 255 : EndIf
 
  ProcedureReturn RGB(Rouge, Vert, Bleu)
EndProcedure

ProcedureDLL.l ColorContrast(Couleur, Echelle.f) ; Constrater la couleur, échelle négative pour diminuer et positive pour augmenter.
  Protected Rouge, Vert, Bleu
 
  Rouge = Int(Red(Couleur) * Echelle + 127 * (1 - Echelle))
  Vert = Int(Green(Couleur) * Echelle + 127 * (1 - Echelle))
  Bleu = Int(Blue(Couleur) * Echelle + 127 * (1 - Echelle))
 
  If Rouge > 255 : Rouge = 255
  ElseIf Rouge < 0 : Rouge = 0 : EndIf
  If Vert > 255 : Vert = 255
  ElseIf Vert < 0 : Vert = 0 : EndIf
  If Bleu > 255 : Bleu = 255
  ElseIf Bleu < 0 : Bleu = 0 : EndIf
 
  ProcedureReturn RGB(Rouge, Vert, Bleu)
EndProcedure

ProcedureDLL.l ColorGrey(Couleur.l) ; Rendre la couleur en nuance de gris
  Couleur = (Red(Couleur) + Green(Couleur) + Blue(Couleur)) / 3
  ProcedureReturn RGB(Couleur, Couleur, Couleur)
EndProcedure

ProcedureDLL.l ColorRedIntensity(Couleur, Echelle.f) ; Eclaicir ou foncer la composante rouge d'une couleur
  Protected Rouge, Vert, Bleu
 
  Rouge = Red(Couleur) * Echelle
  Vert = Green(Couleur)
  Bleu = Blue(Couleur)
 
  If Rouge > 255 : Rouge = 255 : EndIf
 
  ProcedureReturn RGB(Rouge, Vert, Bleu)
EndProcedure

ProcedureDLL.l ColorGreenIntensity(Couleur, Echelle.f) ; Eclaicir ou foncer la composante verte d'une couleur
  Protected Rouge, Vert, Bleu
 
  Rouge = Red(Couleur)
  Vert = Green(Couleur) * Echelle
  Bleu = Blue(Couleur)
 
  If Vert > 255 : Vert = 255 : EndIf
 
  ProcedureReturn RGB(Rouge, Vert, Bleu)
EndProcedure

ProcedureDLL.l ColorBlueIntensity(Couleur, Echelle.f) ; Eclaicir ou foncer la composante bleu d'une couleur
  Protected Rouge, Vert, Bleu
 
  Rouge = Red(Couleur)
  Vert = Green(Couleur)
  Bleu = Blue(Couleur) * Echelle
 
  If Bleu > 255 : Bleu = 255 : EndIf
 
  ProcedureReturn RGB(Rouge, Vert, Bleu)
EndProcedure

Procedure ChangeColor(Image.i, Contrast.f, Luminosity.f)
  
  If IsImage(Image.i)
    
    Static CopyImage.i
    
    If IsImage(CopyImage.i)
      FreeImage(CopyImage.i)
    EndIf
    
    CopyImage.i = CopyImage(Image.i, #PB_Any)
    
    If StartDrawing(ImageOutput(CopyImage.i))
      
      DrawingMode(#PB_2DDrawing_AlphaBlend)
      
      For Y.i = 0 To ImageWidth(CopyImage.i) - 1
        
        For X.i = 0 To ImageWidth(CopyImage.i) - 1
          
          GetCouleur.i = Point(X.i, Y.i)
          AlphaCouleur.i = Alpha(GetCouleur.i)
          GetCouleur.i = Red(GetCouleur.i) + Green(GetCouleur.i) * 256 + Blue(GetCouleur.i) * 65536 
          
          SetCouleur.i = ColorContrast(GetCouleur.i, Contrast.f)
          SetCouleur.i = ColorLuminosity(SetCouleur.i, Luminosity.f)
          SetCouleur.i = SetCouleur.i * AlphaCouleur.i
          
          Plot(X.i, Y.i, SetCouleur.i)
          
        Next
        
      Next
      
      StopDrawing()
      ProcedureReturn CopyImage.i
      
    Else
      ProcedureReturn 0
      
    EndIf
    
  Else
    ProcedureReturn 0
    
  EndIf

EndProcedure

If OpenWindow(#Fenetre, 327, 177, 170, 350, "...",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar)
  Image.i = CatchImage(#PB_Any, ?Poisonicon)
  ImageGadget(#ImageGadget, 10, 10, 150, 150, ImageID(Image.i))
  
  TextGadget1.i = TextGadget(#PB_Any, 10, 170, 150, 15, "Teinte: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetTeinte, 10, 185, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetTeinte, 10)
  
  TextGadget2.i = TextGadget(#PB_Any, 10, 220, 150, 15, "Saturation: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetSaturation, 10, 235, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetSaturation, 10)
  
  TextGadget3.i = TextGadget(#PB_Any, 10, 270, 150, 15, "Luminosité: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetLuminosite, 10, 285, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetLuminosite, 10)
  
  Repeat ; Départ des évènements de boucle.
    
    Event = WaitWindowEvent(1) ; Cette ligne attend pendent (Minuteur) qu'un évènement soit recus par la fenêtre.
    EventWindow = EventWindow(); La fenêtre oû l'évènement c'est produit.
    EventGadget = EventGadget(); Pour savoir sur quel gadget c'est produis l'évènement.
    EventMenu = EventMenu()    ; Pour savoir sur quel menue c'est produis l'évènement.
    EventType = EventType()    ; Le type d'évènement qui c'est produis sur le gadget.
    
    Select Event 
        
      Case #PB_Event_Gadget
        
        Select EventGadget
            
          Case #TrackBarGadgetTeinte
            
            
          Case #TrackBarGadgetSaturation
            NouvelleImage.i = ChangeColor(Image.i, ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget2.i, "Saturation: " + StrF((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1, 2))
            
          Case #TrackBarGadgetLuminosite
            NouvelleImage.i = ChangeColor(Image.i, ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget3.i, "Luminosité: " + StrF((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1, 2))
            
        EndSelect
        
      Case #PB_Event_Menu
        
        Select EventMenu
            
          Case 0
            
        EndSelect
        
      Case #PB_Event_CloseWindow  
        
    EndSelect
    
  Until Event = #PB_Event_CloseWindow ; Fin des évènements de boucle.
  
EndIf
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Comment changer la Teinte Globale d'une image...

Message par Shadow »

Bon c'est vraiment pas ça, j'ai changé de fonction, j'ai retrouvé
des fonctions pour changer les couleurs, je sais pas de qui sont t-elle par contre :|

C'est pas terrible, ça lag a mort en plus:

Code : Tout sélectionner

UsePNGImageDecoder()

DataSection

  Lingo_Dor:
    ; size : 537 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$1600000015000000,$D7832F0000000608,$474B620600000038,$A0FF00FF00FF0044,$700900000093A7BD,$00130B0000735948,$189C9A0001130B00,$454D497407000000
    Data.q $1B2320171408E007,$49A60100000EDA11,$2D95ADCB38544144,$34DEDF861450C26F,$596405425B34CC35,$1C310F92AD85921A,$98609BE090431313,$1999D044986FC101,$082721D9899216FC,$D54101510C4C2C16
    Data.q $5BDBDEE3F4A274D4,$E4F379EF4D31D920,$441E79E4AD26E79C,$2E7CC7E6C48C34D5,$20EFA8E034E4A521,$D344BA6773A9D553,$E43E022CB034BC30,$AA4BA670EB54C817,$60A9276528EAA997,$EA7C70F855DE0222
    Data.q $1E1C9243D4217652,$A387584E1660B202,$FE285C55C60423BE,$A9A877D461AC6DF3,$3C0868DE1750ED09,$F64FBE580040862B,$FAE5439A721D239E,$C00AA259773DC00B,$A72284F09B90E444,$681FB9371B3D0384
    Data.q $6031DEC00102A721,$5E5DA5FA1DE133C6,$9AAFACFFE2B3C0F1,$72A10786E4A80A2B,$D486E4A0F75DD35A,$91B8DD9897BAEE06,$D9ECC47F53342153,$AF281AE767856002,$3B8FD66543BF4A9A,$54DD82303DDDDBD4
    Data.q $9C238D3A06D6FEFC,$D0606930300081C6,$79CBBB7AC0E0DADF,$22FD82B9AA875996,$EA27127E778B3C61,$8771CB3D638BFC34,$8E55A160AD42D303,$16F75FCFFA7EBDFC,$C15A8152ABE16579,$2EF6B30A49FBF89F
    Data.q $40AD5FCE3C047EB6,$D3041870247366BB,$D9AEF32AD02A69FC,$FECE0BF09E79E49C,$B1DE4801FDCD8EEC,$0000006899C0CBDE,$6042AE444E454900
    Data.b $82

  Poisonicon:
    ; size : 5841 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$9000000090000000,$E246E70000000608,$58457419000000B8,$72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA78544144497316
    Data.q $C795D75470699DED,$0B4458AA6A6A61F3,$84245680A0AD0DA1,$8C06124585A10900,$6601181566CB6324,$4086EC21B63630B3,$991C431B6360406C,$2F1C1C4A2706ADE0,$193388794E38CC71,$314CCAE533535D95
    Data.q $D4D572535355ACCE,$4FAAFFDE672F997C,$ADD5BBDEBDFB7473,$EF7EBD6A5FEAAFBE,$EF7DEF59D3FBA4B5,$3666CCD99B31DF3B,$4DB996F6F6E9C5B3,$EDAED4B51D2D7A9A,$18C00A032D7F34AF,$DDE96BDB97F834B0
    Data.q $7D056C787D2B17C7,$A2D53E6EA7DDB27C,$FCEB21A6DED9FD8E,$37CA5B752CFA965B,$E078060D0BB1DD7F,$7D9E9F2415EABB27,$E6F97D3D717F3E80,$DFA61F57FBF5B08E,$97278BF5C1487C5E,$8018D4AC650371DC
    Data.q $83086682C6960526,$B7F4FE30048E818B,$0AD03BDF402AB6D7,$A9E131224664D4EB,$F733ADE0DD48F1BC,$2059CAC1271A04C5,$F433CB3C491199F5,$91691E1547BA57BB,$C49919A8ECB43FDE,$05C6368F27F7A801
    Data.q $23321C1EFACFAC3C,$9AB1B6BD1D003893,$0C42006E28BDDB5E,$B93A2E32B1264666,$E2B52B82202E24BC,$0680281264665BB1,$AFCF4415CA3AE740,$6853135BEEBF4B9B,$A41E178BE7B8AD06,$DA9059F843DC4F4F
    Data.q $B85E86882C49919B,$3AE6F2F58802967F,$0E37E01AA74CF9BA,$BDB074355DE3A4AE,$47EEFD1B78F47E92,$6FE85BFDCB07E13D,$CFA76B9FB7475E5E,$0CC5E9E8FA572D4F,$E06802C49519B750,$BA3D6200239543F2
    Data.q $E3D08CE7563690B0,$86D2E6FD4ACAA56D,$FBF48D95E2F98180,$F9F49D73EDD0D717,$A27FDEA4681E15E9,$C4CB44EA55320189,$AEA3B402DB57D7FA,$7BD472734DA00BC0,$86D69E8DBD037B70,$AEC0D040DC3DB42E
    Data.q $435818E148D0B605,$D2073E5007892233,$05F5DDA62B2F8EBA,$6A1D40095F36BDB4,$40A7F1018801E199,$01358E3E7DB1BA00,$6555D9E774428274,$8FB900D2293910B6,$E2FFA80504C44535,$1B68EB7402A88AEA
    Data.q $565DC2B8F0ACEA9D,$5FCF055CD379757C,$2468CDDB63E5691D,$40148E9029C83D68,$EF414F15E39BAFCF,$02625C1F1F445FEE,$3B75679596DE44E8,$F55D8DE80291D205,$099653CFCCF4F05E,$8D72CA6A86FF5819
    Data.q $CB01ACDA44F91D33,$785E9E36985034B7,$970787D031EA22A0,$F055AD6FF5044B2A,$55C9D3D4F7CFFF60,$11CCC965BA0800A5,$4CCD0D2DBA78004A,$D6E1D1260A4B4F1F,$8825474B7B99D2EF,$0A4B4E9E2D4FFBC6
    Data.q $75013241BB300953,$4B9A75A78043C39C,$8F9675F50E5E67A9,$DA22E2F0E638400A,$65526797D69F3F37,$FC568CDFA88644D6,$2C3A7FC1C18ED3C1,$A97A64C672B4030F,$74C5E599FA40F02B,$E0CAC17AF858B2DA
    Data.q $1CDFA00909CF77AE,$40F051CD37D7A36B,$CD1774D968F373BD,$E80538A258D13A9D,$177F9CD471D4D4CE,$C50707FA57F7D61E,$B9E1F880F5151445,$3E80682CA3B674B9,$03DCAFB85E94B439,$3AA8828E4E63B410
    Data.q $9E04E2CEC99103DB,$B40F0E845C080C26,$0DED76402FD0A9AF,$19080282AA6B2BA9,$6B410011B2CEC5D8,$D7A806E4CFD432CA,$B1018BD4007C5E8C,$58E853A57DD03EB3,$820782F9009F4CDB,$A46B1EF7A0060B4B
    Data.q $121621005E79B59D,$C51D002716371900,$42992CEAC3C1D880,$E557040238675A47,$C7D004E6373B200B,$597281434F685A87,$F1400CD3339D403A,$7661B49D9E0C900A,$2D95B4F52A71A7B6,$18A020BEABB3C139
    Data.q $8015B8E91AFB67E8,$48131F5A4701B76F,$459390314E4029C7,$EE9E689E972F3ADA,$C6DED0AE61600881,$AEC2CA7323211E69,$64E86BBA97A6A86E,$01C3B5AEB4ED197B,$CFA8A78BAB60641C,$A006FB04214BC86D
    Data.q $84E6797C29080438,$3D067940F5D22180,$BDA56C9D59619158,$6DBEF10810AA058D,$26B29655536872F3,$C341D870554F67DB,$82FEB85E6438E0E0,$801B270A9A7861DC,$E3C9BCA20185D5E2,$5650B2920A8560D4
    Data.q $8BAC9C5067C182AC,$1C07BA49576C709D,$DA04CA68BB005CFC,$E38A00631D4F3AD3,$87C65345BE2B9A20,$0D09161409A01204,$C0EB9EA94515F452,$60E756504C64955D,$0686F97F8FFA0EEF,$30B2112801ACFC7F
    Data.q $424587EC3C18F4A4,$E38B05D7CD29CEF1,$32B9B4B935DD980F,$836B053761A5846B,$7F46DCEEF767C4CF,$CFFDFFDB099FE6FA,$1C500346AEC9F4B7,$391A03C694EED402,$42C10990B00AF8A0,$40026B022B039DD8
    Data.q $6D704CB0D7841300,$5C4C00B0096E0600,$5D29767EA94B345F,$F110EDFB7D12E979,$55370FA4DEAFCDF6,$021C500354F2C0D2,$A65A600F1A481F94,$E39354E9198AD1A7,$C107770543093152,$F2B0A097DF89D9FD
    Data.q $E67415B9D6A78F26,$81E57DDFF5F4D3F0,$E57ABE8CFCBEBFE6,$B4C9B6ADE81C0780,$E3153335CF8324BA,$2C127785D901A208,$57536455D68EEE89,$5C02514D14B52659,$953F20B56C93D995,$EFA2E153AEB62FEE
    Data.q $3E987B3F6F4E9A2D,$9AFE1FE3FA55EB7D,$18F93D3F47DAB83E,$574E2F2E94BC3FF5,$19930D73AC3830B0,$14A00BE2D4663BDC,$89BE370A7B8203CC,$2CA6D9D1E6D7F694,$9521BE74A2996FEA,$597266433C14B2AA
    Data.q $19B86CFF8954427C,$00663B2AA7A6F8A7,$3FBB3A7147507AC9,$18C401A258024F03,$AC708A85E67A46B0,$CAD2CADAB6A641C0,$470A66AD69CA2733,$5F822E41CDD48082,$64EEFAAF641C5D64,$B948A4582AB21205
    Data.q $9D34ABAB5C1A5835,$B608A4666A5DF21A,$0249A80304C42CCD,$BB2800776E3D05C4,$D12B2EAA42E02322,$64FA65BE3AC2B4BE,$CDDDAD93C937905A,$13D9498212C9C6CE,$DA846C4564D92015,$AA735E392992800D
    Data.q $D7035F3CA9764FEE,$00CA86E60C65F5C5,$51710FAA72001634,$02019CADF70EC710,$3B017679C21F5C24,$FB880518D00349BB,$2E19D555322B1B57,$17129AD502B1F64B,$3A2E79C1D1772A6D,$03552ECD4BA2EB5E
    Data.q $30C680190F11F5C2,$85D0C6DCA39AFE40,$909157A67342EAEC,$652C6801AA596375,$6655764FE400A161,$5E09400C720BC3A9,$81E0BE40268C1C50,$359F11EE554FD78E,$01DDC7527285273F,$32A39E1FE27466D4
    Data.q $DC238D376EBA468D,$F4CECC76803F8516,$31314CDECEE0159A,$F7AA8E0F7149C14E,$02CB46FC15F2A320,$D3DE59B6D1716B5D,$E990D28E7BB5F843,$98B5C3BACB9FC7C4,$0C193150618E2640,$B4D6F5F44A94266E
    Data.q $B33DA2EC5D5CE011,$8920CDE2A237679D,$6D9271BFD6E6A995,$A776D536CBEF710D,$9957342AE2A0FEE9,$979E9FFB0BA1CDB9,$EDE548EEA47652A6,$A65783AB44C1D500,$24669EB0FD3DA58A,$8883E880C2D33947
    Data.q $F3EB7E9110728399,$91CE6EDB5C2D2396,$206830B46ED40014,$E3C138EF1078251A,$91AA29E3DE05256B,$F08AA660E7550700,$28F317A3440C168D,$13B1E0FE08DAEC78,$AAFE45C421E2152C,$06DF274E1F9BB2D2
    Data.q $62A3C118E03B7322,$E8759CB13B25A71E,$69757D62A105A84B,$B80AB50A88919ABA,$11011ECC2D4FEFAD,$75526C47DA666FFA,$73C07A6677BC2055,$C3185E818029639E,$3EB86B150A804BE2,$401E8C705326B151
    Data.q $795730696303F87D,$560864BCDFCB6CF5,$9F3EE7446E5D40E1,$9BEA70DEDBF6CC69,$5EE6F098ECFC5CE1,$D749D18D8A643F37,$21C4341AA27324A9,$12CBE06B3B6452FA,$0C028651697396A0,$70824B9FC0D606EE
    Data.q $89D3B1A050A6BB3C,$1E261EDA113AE1FA,$A9ECEFF883400E8A,$C9F63341EB86EE1A,$56360624757FC6C1,$DCCCAE10FEDCE802,$C369E2FB29923A5F,$2CEE08048E710656,$2A10AC113191E191,$583BA016450AC6E9
    Data.q $4A71FA678656C9FD,$7A2DC2A161E0163D,$69F6284500966466,$4C8199BC8A0BBC2E,$C9B8280A249F11D9,$3E9724ABDD4F67C2,$B7D43F7EAA9ADEBF,$A22BD080191F5A4C,$1B6C89BA9E39D56D,$753479D490284CC8
    Data.q $A5DC0593757AC4FB,$270D675B4424DF43,$987409661FE9EE08,$9F792F33BB950D00,$D08F144641F63D41,$EFFD0CFD787F8C00,$0093DE1B4E437E7F,$C6E3239F791FAE9D,$5DFA1A8EE0596CC2,$C175CDE2898E214E
    Data.q $F22BE9FF6F9A012D,$6BC0A07CDD22C1B7,$C31614C86BDF114E,$AEF4ABA7F7DD4803,$37E543EF3BA991A5,$8AF1C2D16E0AB19A,$080160A9DB9C3FAE,$F9C58E1BA04B9DB8,$0EDCCBA67ABB9F4E,$FDB8A9E9A9000238
    Data.q $DFD221C2C8FF1E8A,$F14588144021BB68,$23CBC0E3FD55C1B5,$A7BF0854B09395DC,$B240048A006D32BB,$106EE0A4804B117D,$0DB15F115804030C,$60F82A6FCFF7FB80,$545DC8061CF982C9,$6803240048A0F534
    Data.q $77F47F02CB41FF59,$75C694362FD296D6,$F3C3E2F0DB76F626,$A0C8699F118BC30D,$DA160FFBD137760F,$06110D0DF113C402,$65B5D154C78C4E48,$D7C7F425E6C2E853,$FB47D07617DBA49E,$F2AE6A451DABD397
    Data.q $DA260A0058030268,$DF9D2670B3D35C73,$7DFF4EDE9D1F4ADC,$6D6E8FB2FD0D1CF3,$114748A9900B6D9D,$EA48067EF2222E20,$5D076F7D74BDCBCB,$8A548A2B7D40D2DB,$B82C06882585418C,$D014D5D60061803E
    Data.q $0143BBB2BA2AB6DE,$32E8C0569CEFAFF3,$D8EF7A764029C500,$9AF4E87B91E57A7A,$E7D5F694A2B53A06,$EB5E2978181515AA,$FEF20C78E14850CE,$F6FD0243080542C6,$00324E281D92AF62,$DB33EBF4BE401025
    Data.q $400C30182938003C,$151138DDBFD00649,$0190032006400C40,$6FBA0564FE803028,$32D4CD1D1DA1E91E,$67508EE7A62A8CB7,$9EEF46DB5FED3563,$E0D5DD00320065D9,$CAEA8DBBB274BDCB,$B2BB001271A0BC8B
    Data.q $3C0201D92801837F,$80B8DA5152A6CA4B,$972CA756D0DA91E1,$4699AF6A01492801,$B82080643CFE9385,$CEE2F40212500335,$B93E8201709E0A95,$6BAD006C9400CFB8,$03215AA140188928,$52C935DB5756CD90
    Data.q $DD9A96354B2AA581,$D7DA012C7C69685A,$CAF7CB5E0903DF3E,$0C42C4200C4426B3,$C08FD87264226205,$E3343FC8019D991C,$BF21F66921BB152D,$B4ED52DC10038510,$F3B3EB080C300F34,$6A6D4FFB958E788F
    Data.q $D7777E7AF8C304F3,$FEFFDF4C82004008,$4E38403A240F31FA,$BBBA402973EF173F,$681F954E0DC807A4,$0E87008054288282,$D005ED5F1ED7AE8C,$1012890B6D1A8791,$6F8E8048C7C22B27,$07A4A8015AD3E559
    Data.q $0905152CCFE002C8,$55EB07976E442D8E,$0CECA4201346EB8E,$6200EDE548606711,$868036B6200BE1AB,$900F4949EAFE910B,$40E136C5A17FC835,$7AE69A99ABEDAE54,$109FCBEEC617542E,$45C0656BB38BB0FF
    Data.q $1F7847705238C539,$D256AC2442D02F2E,$8F00230B5976E402,$C4017DFBB333F2A3,$09C8EE0803B29137,$5A38B7360FDF7D18,$EC3066715C556420,$4CC7A5C01C587552,$15259AD2401DAE7C,$B5F480102780B140
    Data.q $F5974B2CAE201262,$7E6C023F6ACDA9C1,$455AD6DA018A960F,$8B45419E7BF8FF5F,$01CE0308961B0782,$D852B08C0E5717F0,$C6E0386160804907,$802A49F5A4996957,$100B84F0EA2B6EDC,$660223B5A1CEF443
    Data.q $5CF1A5FDF7850029,$3A012DCFE36C41DB,$01F3852B74A80440,$626A80264B059D92,$00FE540A00244F01,$80C8EAC062C380C2,$E19D1214C7804EDA,$560804B13C158829,$63AA1A70B0BD1228,$008B1E6AEBB7201E
    Data.q $D412505FEEEAE0B1,$CE99BBE9163E0E74,$C0100AB1AAA01BE1,$D6182102C1B99081,$6C82175C1007F101,$258F3569EE754CD3,$1FE387FD446C5080,$4850080065706564,$0420783B698322CB,$40BB3324F3AE9CC7
    Data.q $0080344CCA01593A,$95820B6C840A2C08,$1C31C297BD323401,$491AD234C4020103,$651C17A4025FB080,$006384CB04EB045C,$064A5E326007BE1A,$D900289B542B0617,$8B8DA1F509FD0C15,$5CCA2A9D920CF966
    Data.q $58592C9F73B50E89,$1457040098AF7DB8,$ADFCEEE0CADC3428,$10314EC72B1CBBF3,$29FCE6EE91011517,$58E146B131D12B59,$38B0D32B25372720,$82C169E9027ACB4E,$2881FCA2E10C1538,$1ADD4585EC64B733
    Data.q $ABBA8699CB441B85,$1301D577185D640A,$9CB6CD03E0616160,$1CE9E64C705E922C,$5EB15DFA10048939,$0030F2D971032858,$4CFA402E143EB945,$100D62C7F42DB844,$928AF3EA1DDD2462,$A430BB3C5A503E75
    Data.q $EF3A4771D19208E5,$04AC466D2E689E0F,$8F2DE91B10900677,$CC32B52C60A80564,$09E26BA409D1F8DA,$4D19B58813EF9E20,$E7D92E2CE7403880,$DCCE1050403B9744,$F311A1F3920050A1,$117AE2001E3A2570
    Data.q $3195599F78834C4F,$D2CDC33258498D9C,$AC29F4B4C8617542,$201344F29721AE98,$116E724A6B915B39,$6B6F1EB2CC7C4BC4,$0D630BF7C4D26004,$82140CD78D0F9C90,$6386031EF0DAE969,$C961EE681E689CE4
    Data.q $0526644807D817D5,$241994083E6B2497,$32535CACA9E590D9,$F480291446B14500,$EC7DE683CF0C71EF,$2F4FE15DB44E78F2,$2C030BAFA3BEA20A,$A400F3CBEF91F75C,$1001A35FD3062801,$DF85C5C8FD97D120
    Data.q $C89AC06ACBCCBCDF,$B0F4972A715CA966,$B7AF549E574D928B,$6F1CD40181400C30,$A0B40255B37A4100,$484B40C16E2BC328,$09C77D711AD8BAE0,$2758580DE977EE20,$0E97DD2402825003,$82013EFDA5FB7410
    Data.q $4D3642FABC380245,$8C639D3312188075,$E8074A0759A08400,$EC404200BC7A27A7,$2280187057D2CBD4,$4AEC840368ED5007,$6CCE803FBDF15536,$B3F659061005EE59,$802F960E97991AF0,$3AB728A0066909F4
    Data.q $EA9E670214900122,$AA9E65B2FA400A1A,$033BBA5E3840281A,$5E30B948B1339450,$6080503E6EB4EA81,$0AB2402C142B7471,$00522CBF728A006D,$3DA5D005F1E32DD9,$00FE42B3B2016DAB,$801A1095CE185992
    Data.q $F509C900A8510CA2,$03A41FEEECECEDFA,$1C02016DBBB3ABF4,$2AD2D30421BA4000,$E442CE5AB57100E9,$0A8510CA2801931A,$607AEC980D0F9C90,$2F103ABB201D18F2,$6A15E90DD23001DB,$A6572E7CDA071009
    Data.q $87A01D4E43797BF9,$2C1442E1400D524A,$784E11EA1925ED40,$D765D640EB4F1CE0,$47EBF2C70C6E978D,$218456C402D9D557,$B8716931BDC3AB60,$F65368DE4716C195,$A223C30FCF15F0CE,$DA9D3F10092958F0
    Data.q $6A60DE8144061400,$45AED0FD88D66573,$539CE0787341EAA5,$2F715AD959365DE7,$C1825D748CC79F4C,$AD264FBD041957AB,$EBEBE37ABE8E2C0B,$B2B499651D381547,$AC06788AC9E235C8,$C402E1C5483FC801
    Data.q $DD24ABBAF083B8B7,$611CAA7B89E8240B,$D969D51B40867642,$E38332BC366BD78D,$38B83202F6DBBB1F,$B0785A9E14873A7D,$AA454B7CB63D56A3,$65170F93D7AA767A,$20060A2751228018,$A28ADC755C9AEED6
    Data.q $B1574DD736985B54,$8365098B185A9E12,$9A0ADD2381A29E57,$D9553DE400F7EB2E,$018E41787D369F3E,$850CE69CD2880828,$13C1CE1C5C149002,$CE770EA06260ED9E,$8121FDD5D5F540F3,$702C04334F065882
    Data.q $3C5D59802604784D,$1D94ADDD9CAE3D45,$00DA8D3F0DB56F40,$80657B77B6441C14,$4F0A480243334ABA,$C9C70606B8F1C676,$41CF3D8A1B5B4142,$C07218FC30C427F5,$FD3A12C0C2C3EB82,$E9C5E5D2A7EBC72C
    Data.q $2801B6634CE7D6B6,$E28EA00EC8BAE08C,$1D70A565F201B0F4,$386CA6B59F5C0958,$F9039C290C18810E,$2C0DB1096E0A4502,$78F891619F53D38C,$3F34031A5C045003,$05C2BEC8402D9277,$EB0D07F1A5829A28
    Data.q $0273CDAFED1A6B7A,$9AAA35BC1190DFA8,$C6D203FEEBD65851,$D4099321005ED959,$74594DB3980AC402,$E5879BCF507A6975,$9F9BF7E1B2C0F091,$D8422A1AF500C293,$21BC7F5A676B8BCA,$6A9ED227324B11FC
    Data.q $509BE207B11D34EF,$E80397818E031D07,$9A1739D572EA074F,$300C11EB032C5533,$F8A9748F31C6802C,$019E369856EFC0C7,$32F3F1B8843437CA,$9746C5D3C753B9A0,$E5976C4042C44FA7,$161AF000489B1A04
    Data.q $B829BBA240A14EC1,$04167F6DB30B53B4,$FF1344D6654F0CDF,$A212834B14A00844,$AB45DEBA745D5A37,$B543840867748E67,$425F1EBAC104B044,$F95AC14AC1EB83DC,$BBFCEA0461B86CFA,$9F58C86781EA9DCC
    Data.q $CB2A0CAEC95440C8,$DBB7A24D37CF471C,$A402B54B9E70745C,$85832B833B270B4B,$20BB1E580003C0C0,$5062658F54B2C6F8,$82471610EE306100,$947E8CC9A81E59A3,$9ECCF68E36969A20,$590916E9201306A8
    Data.q $0D00D5886965BC4C,$29790D58AAECD1AA,$3D466ED9EFC1E632,$C6A50FF896ECEE3A,$574488D143F4F1FC,$C5030956BBECCF7B,$B70560ED827083ED,$65C2A719584B85C4,$AD2098C92A24FE73,$82E8ED19A575DC0E
    Data.q $A264B6B411AD2BD4,$C252A3419BA48D8A,$A60A5E21400E2EC4,$50074B0908ABE810,$DC82D3F8DFAE5D70,$66290C27721C1D14,$A001B5FA8D676384,$CA4F2458461319CE,$B36DA2EB5E3BED6C,$67D5C024BD3ABA46
    Data.q $3E1E7C2E87020527,$42959D6D176AB1F7,$E5826FD3817BA7CB,$A43B9FFDDF2903D1,$D2ACBC526B27B6BB,$0213B1C3CD136988,$824A6B03CA300C71,$82D7085CE0E70407,$6D58E8BA16E7ED70,$8668351EC88EB28A
    Data.q $01A5BB5307F1380C,$F4898A9EA6012ADD,$5AD7E5A72149FA83,$D811F5C18EBE4A5C,$D7CFC2C300DA0AC3,$6B27D4C062555C6D,$82826D36D496B248,$3EB9D90F030A560A,$B9C1CE1C7C06CA16,$5807056513802CB0
    Data.q $F049A0634B6E3BA0,$A0EC06EAEDC9A978,$6EA3C4B3B8EE908A,$C9A9F8824A7B8D80,$E820DCFA8547D83D,$D26F9F776B8ED3EA,$9B33666CCD99B36E,$5492AA7FFB77E2D9,$000000301CB5F706,$6042AE444E454900
    Data.b $82

  Bouton:
    ; size : 1083 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$2100000099000000,$9EA7450000000208,$47527301000000F5,$0000E91CCEAE0042,$0000414D41670400,$00000561FC0B8FB1,$0000735948700900,$C701C30E0000C30E
    Data.q $49D003000064A86F,$4F9BED4368544144,$D1B45DC614515448,$1728B549041A904D,$B75D22D285C6D606,$A5996504DA6D576A,$DC8A44EB42145969,$650C09B8441FE8B7,$67519C7470CA7340,$929A91A4D2708214
    Data.q $3BC1EEF7DB971690,$E71BDA8D337DEE77,$73BCEF7C38FCBDC9,$929BB379BF7799CF,$CE725E39653B5D94,$5ED2FB05DBE5DBAF,$F20EF8B65AFD8A52,$53E2D173F64BC32E,$78629F160B532F0C,$7E5E18A7C5B3E3F9
    Data.q $F32B978629F164FF,$7C5B8C9978629F16,$314F8B19B7E5E18A,$E5E18A7C5A8E5CBC,$852E5E18A7C5B0D7,$74ACB06FA2F926BC,$056B76F44884A4A0,$B0D8DE3FDF7D58D9,$684609FFE5A43D36,$D5A3C1F50AD736E3
    Data.q $C3116FD68DE07FF9,$D1FCF926BD1F2FCB,$D5E85BE8B5B1DD58,$0B5190AA87C3D7D1,$08C2EC1FCC6EA1B2,$5CDC472CA81D220C,$EE7A248E6B07D42B,$188B7EB46C6CF969,$C3D9F24D783E265E,$EAF400C8B5DABAB1
    Data.q $2EC749EB27E357BB,$10032D420757A19C,$1117705CE3EF8F4B,$426472DEC0E2D719,$B40471D448C80D4D,$866A8ADAE8DA2B6B,$51995DCF4481560F,$CA1E2362EE1BA177,$5EA30B9786002FAC,$9A86C6FEABDA7C93
    Data.q $C8EAFF707C3929EA,$F53078E04B81004B,$099962D719A84006,$0604622754461CD6,$90915B579EBCA739,$9E4F81033256CD1B,$0F72A05775C77078,$E8D7A869EAD73522,$3BE959AF45D0F25E,$D0F3A19FDF7C7635
    Data.q $6646ED548ECFFBBF,$401500E27431BBB1,$4CCA5C08019652E0,$1502B3055774C53E,$583D0F23D6420065,$E2AD9B4223660BBA,$763971A135016AE7,$2F66D8017D6B96E1,$32DFA47B0E6D3D01,$9AEE92E04018A393
    Data.q $8A735DC8ADAB41D0,$A11C9763937A656C,$66C9CBC31AF693D6,$C5331384F99A2606,$F51FCA35A1202625,$24440AEAC11671B1,$50220650E9DA2871,$C5A96F28DA194A5E,$DC68773C9C72019A,$2D7D343D646438C5
    Data.q $2B438E4097BDB220,$648F59A485D8E654,$23802BE164BDD001,$BCD137445C065E4E,$C844EBF4A8F1D769,$70BCE0CB5977C547,$034745D801817389,$034A51E58AD3238D,$B231BD018B2103A8,$E9A1E40869C9EA55
    Data.q $7C6C7C07515B5DDC,$13A9775DDB4350AB,$A72F78C6BD253D65,$D8585B879113005A,$9BB85363D2B58E89,$CBC3086CB75C1FFD,$C055C8F2B48B2B48,$3142EB88981CA710,$E8B25EE84C5EBADB,$2C875AC70B482E35
    Data.q $B4E5EF182C5EBAC2,$89D8F0A22D311303,$AC296CDDC29B1E19,$7CED3397BC62DEEB,$D3E0263688511DA6,$61B17AEB0AA04C6D,$0A51130037B397BC,$7EDF5D614D8F4CC4,$89D62C9D632F0DD7,$169881D62C1D63C8
    Data.q $52D9A689D66C1DB3,$BC375D414533D758,$2778F0550264DF8C,$EBADB375E6C28860,$E2EB9B25EEBAE5C5,$99B845D11300B773,$BDD75D1B7D75852D,$744205CDBF9CEC74,$7AEB2EEFC745A601,$275DCF0A5B377086
    Data.q $7AF906FFDA5ED2EF,$ACB19DAEC837FC65,$F7017F52A5653B97,$0020ECCDD227A33A,$AE444E4549000000
    Data.b $42,$60,$82

EndDataSection

Enumeration 1
  #Fenetre
  #ImageGadget
  #TrackBarGadgetTeinte
  #TrackBarGadgetSaturation
  #TrackBarGadgetLuminosite
EndEnumeration

Procedure.i GetTeinte(Couleur.i) ; Donne la teinte d'une couleur.
	Protected fTeinte.f, Rouge.i, Vert.i, Bleu.i, Minimum.i, Maximum.i, Difference.i
	Rouge = Red(Couleur) : Vert = Green(Couleur) : Bleu = Blue(Couleur)
	If Rouge =  Vert And Rouge = Bleu And Vert = Bleu
		ProcedureReturn 160
	EndIf
	If Rouge < Vert And Rouge < Bleu
		Minimum = Rouge
		If Vert > Bleu
			Maximum = Vert
		Else
			Maximum = Bleu
		EndIf
	ElseIf Vert < Bleu
		Minimum = Vert
		If Rouge > Bleu
			Maximum = Rouge
		Else
			Maximum = Bleu
		EndIf
	Else
		Minimum = Bleu
		If Rouge > Vert
			Maximum = Rouge
		Else
			Maximum = Vert
		EndIf
	EndIf
	Difference = Maximum-Minimum
	If Rouge = Maximum
		fTeinte = (Vert-Bleu)/Difference
	ElseIf Vert = Maximum
		fTeinte = (Bleu-Rouge)/Difference + 2
	Else
		fTeinte = (Rouge-Vert)/Difference + 4
	EndIf
	If fTeinte< 0
		ProcedureReturn 240+Round(Mod((1/6*(fTeinte*240)), 240), #PB_Round_Nearest)
	Else
		ProcedureReturn Round(Mod((1/6*(fTeinte*240)), 240), #PB_Round_Nearest)
	EndIf
EndProcedure

Procedure.i GetSaturation(Couleur.i) ; retourne la saturation d'une couleur.
	Protected Rouge.i, Vert.i, Bleu.i, Minimum.i, Maximum.i
	Rouge = Red(Couleur) : Vert = Green(Couleur) : Bleu = Blue(Couleur)
	If (Rouge = 0 And Vert = 0 And Bleu = 0) Or (Rouge = 255 And Vert = 255 And Bleu = 255)
		ProcedureReturn 0
	EndIf
	If Rouge < Vert And Rouge < Bleu
		Minimum = Rouge
		If Vert > Bleu
			Maximum = Vert
		Else
			Maximum = Bleu
		EndIf
	ElseIf Vert < Bleu
		Minimum = Vert
		If Rouge > Bleu
			Maximum = Rouge
		Else
			Maximum = Bleu
		EndIf
	Else
		Minimum = Bleu
		If Rouge > Vert
			Maximum = Rouge
		Else
			Maximum = Vert
		EndIf
	EndIf
	If Maximum+Minimum =< 255
		ProcedureReturn Round(((Maximum-Minimum)/(Maximum+Minimum)*240),#PB_Round_Nearest)
	Else
		ProcedureReturn Round(((Maximum-Minimum)/(510-(Maximum+Minimum))*240), #PB_Round_Nearest)
	EndIf
EndProcedure

Procedure.i GetLuminosite(Couleur.i) ; Donne la luminosité d'une couleur.
	Protected Rouge.i, Vert.i, Bleu.i, Minimum.i, Maximum.i
	Rouge = Red(Couleur) : Vert = Green(Couleur) : Bleu = Blue(Couleur)
	If Rouge < Vert And Rouge < Bleu
		Minimum = Rouge
		If Vert > Bleu
			Maximum = Vert
		Else
			Maximum = Bleu
		EndIf
	ElseIf Vert < Bleu
		Minimum = Vert
		If Rouge > Bleu
			Maximum = Rouge
		Else
			Maximum = Bleu
		EndIf
	Else
		Minimum = Bleu
		If Rouge > Vert
			Maximum = Rouge
		Else
			Maximum = Vert
		EndIf
	EndIf
	ProcedureReturn Round((240*(Maximum + Minimum)/510), #PB_Round_Nearest)
EndProcedure

Procedure.i SetTeinte(Couleur.i, Echelle.f) ; Changer la teinte d'une couleur (Echelle comprise entre -1 et 1).
	Protected Rouge.i, Vert.i, Bleu.i, Alpha.i, a.f, Nuance_Blanc.i, Nuance_Noir.i, B.f, i.i, ii.i
  
  Rouge = Couleur & $FF
  Vert = Couleur >> 8 & $FF
  Bleu = Couleur >> 16 & $FF
	Alpha = Couleur >> 24
	
	; Recherche de la teinte
	If Bleu >= Vert And Bleu >= Rouge And Bleu > 0
    a = 255 / Bleu
    Nuance_Noir = 255 - Bleu
    Bleu = 255
    Vert = a * Vert
    Rouge = a * Rouge
	ElseIf Vert >= Bleu And Vert >= Rouge And Vert > 0
    a = 255 / Vert
    Nuance_Noir = 255 - Vert
    Bleu = a * Bleu
    Vert = 255
    Rouge = a * Rouge
	ElseIf Rouge >= Vert And Rouge >= Bleu And Rouge > 0
    a = 255 / Rouge
    Nuance_Noir = 255 - Rouge
    Bleu = a * Bleu
    Vert = a * Vert
    Rouge = 255
	Else
    Nuance_Noir = 255
    Bleu = 255
    Vert = 255
    Rouge = 255
	EndIf
  
  If Bleu < Vert And Bleu < Rouge
    a = Bleu / 255
    Nuance_Blanc = 255 - Bleu
    Vert = (Vert - Bleu) / (1 - a)
    Rouge = (Rouge - Bleu) / (1 - a)
    Bleu = 0
	ElseIf Vert < Bleu And Vert < Rouge
    a = Vert / 255
    Nuance_Blanc = 255 - Vert
    Bleu = (Bleu - Vert) / (1 - a)
    Rouge = (Rouge - Vert) / (1 - a)
    Vert = 0
	ElseIf Rouge < Bleu And Rouge < Vert
    a = Rouge / 255
    Nuance_Blanc = 255 - Rouge
    Bleu = (Bleu - Rouge) / (1 - a)
    Vert = (Vert - Rouge) / (1 - a)
    Rouge = 0
	Else
    Nuance_Blanc = 255
	EndIf
	
	ii = Echelle * 1530
	If ii > 0
		For i = 1 To ii
			If Rouge = 255 And Vert <> 255 And Bleu = 0
				Vert + 1
			ElseIf Vert = 255 And Rouge <> 0 And Bleu = 0
				Rouge - 1
			ElseIf Vert = 255 And Bleu <> 255 And Rouge = 0
				Bleu + 1
			ElseIf Bleu = 255 And Vert <> 0 And Rouge = 0
				Vert - 1
			ElseIf Bleu = 255 And Rouge <> 255 And Vert = 0
				Rouge + 1
			ElseIf Rouge = 255 And Bleu <> 0 And Vert = 0
				Bleu - 1
			EndIf
		Next
	Else
		ii = -ii
		For i = 1 To ii
			If Bleu = 255 And Vert <> 255 And Rouge = 0
				Vert + 1
			ElseIf Vert = 255 And Bleu <> 0 And Rouge = 0
				Bleu - 1
			ElseIf Vert = 255 And Rouge <> 255 And Bleu = 0
				Rouge + 1
			ElseIf Rouge = 255 And Vert <> 0 And Bleu = 0
				Vert - 1
			ElseIf Rouge = 255 And Bleu <> 255 And Vert = 0
				Bleu + 1
			ElseIf Bleu = 255 And Rouge <> 0 And Vert = 0
				Rouge - 1
			EndIf
		Next
	EndIf
	
  a = 1 - Nuance_Blanc / 255
  B = (255 - Nuance_Noir) / 255
  Rouge = (Rouge + (255 - Rouge) * a) * B
  If Rouge < 0
    Rouge = 0
	ElseIf Rouge > 255
    Rouge = 255
	EndIf
  Vert = (Vert + (255 - Vert) * a) * B
  If Vert < 0
    Vert = 0
	ElseIf Vert > 255
    Vert = 255
	EndIf
  Bleu = (Bleu + (255 - Bleu) * a) * B
  If Bleu < 0
    Bleu = 0
	ElseIf Bleu > 255
    Bleu = 255
	EndIf
	
	ProcedureReturn (Rouge | Vert <<8 | Bleu << 16 | Alpha << 24)
EndProcedure

Procedure.i SetSaturation(Couleur.i, Echelle.f) ; Contraster la couleur, échelle négative pour diminuer et positive pour augmenter.
  Protected Rouge.i, Vert.i, Bleu.i, Alpha.i
  
  Rouge = Couleur & $FF
  Vert = Couleur >> 8 & $FF
  Bleu = Couleur >> 16 & $FF
	Alpha = Couleur >> 24
  Rouge * Echelle + 127 * (1 - Echelle)
  Vert * Echelle + 127 * (1 - Echelle)
  Bleu * Echelle + 127 * (1 - Echelle)
  
  If Rouge > 255 : Rouge = 255
  ElseIf Rouge < 0 : Rouge = 0 : EndIf
  If Vert > 255 : Vert = 255
  ElseIf Vert < 0 : Vert = 0 : EndIf
  If Bleu > 255 : Bleu = 255
  ElseIf Bleu < 0 : Bleu = 0 : EndIf
  
ProcedureReturn (Rouge | Vert <<8 | Bleu << 16 | Alpha << 24)
EndProcedure

Procedure.i SetLuminosite(Couleur.i, Echelle.f) ; Eclaicir ou foncer une couleur.
  Protected Rouge.i, Vert.i, Bleu.i, Alpha.i
  
  Rouge = Couleur & $FF
  Vert = Couleur >> 8 & $FF
  Bleu = Couleur >> 16 & $FF
	Alpha = Couleur >> 24
  Rouge * Echelle
  Vert * Echelle
  Bleu * Echelle
  
  If Rouge > 255 : Rouge = 255 : EndIf
  If Vert > 255 : Vert = 255 : EndIf
  If Bleu > 255 : Bleu = 255 : EndIf
  
  ProcedureReturn (Rouge | Vert <<8 | Bleu << 16 | Alpha << 24)
EndProcedure

Procedure.i ChangeTeinte(Image.i, Echelle.f)
  
  If IsImage(Image.i)
    
    Static CopyImage.i
    
    If IsImage(CopyImage.i)
      FreeImage(CopyImage.i)
    EndIf
    
    CopyImage.i = CopyImage(Image.i, #PB_Any)
    
    If StartDrawing(ImageOutput(CopyImage.i))
      
      DrawingMode(#PB_2DDrawing_AlphaBlend)
      
      For Y.i = 0 To ImageHeight(CopyImage.i) - 1
        
        For X.i = 0 To ImageWidth(CopyImage.i) - 1
          
          GetCouleur.i = Point(X.i, Y.i)
          AlphaCouleur.i = Alpha(GetCouleur.i)
          GetCouleur.i = Red(GetCouleur.i) + Green(GetCouleur.i) * 256 + Blue(GetCouleur.i) * 65536 
          
          SetCouleur.i = SetTeinte(GetCouleur.i, Echelle.f)
          SetCouleur.i = SetCouleur.i * AlphaCouleur.i
          
          Plot(X.i, Y.i, SetCouleur.i)
          
        Next
        
      Next
      
      StopDrawing()
      ProcedureReturn CopyImage.i
      
    Else
      ProcedureReturn 0
      
    EndIf
    
  Else
    ProcedureReturn 0
    
  EndIf

EndProcedure

If OpenWindow(#Fenetre, 327, 177, 170, 350, "...",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar)
  Image.i = CatchImage(#PB_Any, ?Poisonicon)
  ImageGadget(#ImageGadget, 10, 10, 150, 150, ImageID(Image.i))
  
  TextGadget1.i = TextGadget(#PB_Any, 10, 170, 150, 15, "Teinte: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetTeinte, 10, 185, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetTeinte, 10)
  
  TextGadget2.i = TextGadget(#PB_Any, 10, 220, 150, 15, "Saturation: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetSaturation, 10, 235, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetSaturation, 10)
  
  TextGadget3.i = TextGadget(#PB_Any, 10, 270, 150, 15, "Luminosité: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetLuminosite, 10, 285, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetLuminosite, 10)
  
  Repeat ; Départ des évènements de boucle.
    
    Event = WaitWindowEvent(1) ; Cette ligne attend pendent (Minuteur) qu'un évènement soit recus par la fenêtre.
    EventWindow = EventWindow(); La fenêtre oû l'évènement c'est produit.
    EventGadget = EventGadget(); Pour savoir sur quel gadget c'est produis l'évènement.
    EventMenu = EventMenu()    ; Pour savoir sur quel menue c'est produis l'évènement.
    EventType = EventType()    ; Le type d'évènement qui c'est produis sur le gadget.
    
    Select Event 
        
      Case #PB_Event_Gadget
        
        Select EventGadget
            
          Case #TrackBarGadgetTeinte
            NouvelleImage.i = ChangeTeinte(Image.i, ((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget1.i, "Teinte: " + StrF((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1, 2))
            
          Case #TrackBarGadgetSaturation
;             NouvelleImage.i = ChangeColor(Image.i, ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
;             SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
;             SetGadgetText(TextGadget2.i, "Saturation: " + StrF((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1, 2))
;             
          Case #TrackBarGadgetLuminosite
;             NouvelleImage.i = ChangeColor(Image.i, ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
;             SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
;             SetGadgetText(TextGadget3.i, "Luminosité: " + StrF((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1, 2))
;             
        EndSelect
        
      Case #PB_Event_Menu
        
        Select EventMenu
            
          Case 0
            
        EndSelect
        
      Case #PB_Event_CloseWindow  
        
    EndSelect
    
  Until Event = #PB_Event_CloseWindow ; Fin des évènements de boucle.
  
EndIf
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Zorro
Messages : 2186
Inscription : mar. 31/mai/2016 9:06

Re: Comment changer la Teinte Globale d'une image...

Message par Zorro »

Shadow a écrit :des fonctions pour changer les couleurs, je sais pas de qui sont t-elle par contre :|
de LSI (Le soldat inconnu )
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Comment changer la Teinte Globale d'une image...

Message par Ar-S »

Tout à fait.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Comment changer la Teinte Globale d'une image...

Message par Shadow »

Ah merci bien.
Sinon puis-je avoir un peu d'aide pour amélioré svp :oops:
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Comment changer la Teinte Globale d'une image...

Message par Shadow »

Pas ça encore :(

Code : Tout sélectionner

UsePNGImageDecoder()

DataSection

  Lingo_Dor:
  ; size : 537 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$1600000015000000,$D7832F0000000608,$474B620600000038,$A0FF00FF00FF0044,$700900000093A7BD,$00130B0000735948,$189C9A0001130B00,$454D497407000000
    Data.q $1B2320171408E007,$49A60100000EDA11,$2D95ADCB38544144,$34DEDF861450C26F,$596405425B34CC35,$1C310F92AD85921A,$98609BE090431313,$1999D044986FC101,$082721D9899216FC,$D54101510C4C2C16
    Data.q $5BDBDEE3F4A274D4,$E4F379EF4D31D920,$441E79E4AD26E79C,$2E7CC7E6C48C34D5,$20EFA8E034E4A521,$D344BA6773A9D553,$E43E022CB034BC30,$AA4BA670EB54C817,$60A9276528EAA997,$EA7C70F855DE0222
    Data.q $1E1C9243D4217652,$A387584E1660B202,$FE285C55C60423BE,$A9A877D461AC6DF3,$3C0868DE1750ED09,$F64FBE580040862B,$FAE5439A721D239E,$C00AA259773DC00B,$A72284F09B90E444,$681FB9371B3D0384
    Data.q $6031DEC00102A721,$5E5DA5FA1DE133C6,$9AAFACFFE2B3C0F1,$72A10786E4A80A2B,$D486E4A0F75DD35A,$91B8DD9897BAEE06,$D9ECC47F53342153,$AF281AE767856002,$3B8FD66543BF4A9A,$54DD82303DDDDBD4
    Data.q $9C238D3A06D6FEFC,$D0606930300081C6,$79CBBB7AC0E0DADF,$22FD82B9AA875996,$EA27127E778B3C61,$8771CB3D638BFC34,$8E55A160AD42D303,$16F75FCFFA7EBDFC,$C15A8152ABE16579,$2EF6B30A49FBF89F
    Data.q $40AD5FCE3C047EB6,$D3041870247366BB,$D9AEF32AD02A69FC,$FECE0BF09E79E49C,$B1DE4801FDCD8EEC,$0000006899C0CBDE,$6042AE444E454900
    Data.b $82

  Poisonicon:
    ; size : 5841 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$9000000090000000,$E246E70000000608,$58457419000000B8,$72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA78544144497316
    Data.q $C795D75470699DED,$0B4458AA6A6A61F3,$84245680A0AD0DA1,$8C06124585A10900,$6601181566CB6324,$4086EC21B63630B3,$991C431B6360406C,$2F1C1C4A2706ADE0,$193388794E38CC71,$314CCAE533535D95
    Data.q $D4D572535355ACCE,$4FAAFFDE672F997C,$ADD5BBDEBDFB7473,$EF7EBD6A5FEAAFBE,$EF7DEF59D3FBA4B5,$3666CCD99B31DF3B,$4DB996F6F6E9C5B3,$EDAED4B51D2D7A9A,$18C00A032D7F34AF,$DDE96BDB97F834B0
    Data.q $7D056C787D2B17C7,$A2D53E6EA7DDB27C,$FCEB21A6DED9FD8E,$37CA5B752CFA965B,$E078060D0BB1DD7F,$7D9E9F2415EABB27,$E6F97D3D717F3E80,$DFA61F57FBF5B08E,$97278BF5C1487C5E,$8018D4AC650371DC
    Data.q $83086682C6960526,$B7F4FE30048E818B,$0AD03BDF402AB6D7,$A9E131224664D4EB,$F733ADE0DD48F1BC,$2059CAC1271A04C5,$F433CB3C491199F5,$91691E1547BA57BB,$C49919A8ECB43FDE,$05C6368F27F7A801
    Data.q $23321C1EFACFAC3C,$9AB1B6BD1D003893,$0C42006E28BDDB5E,$B93A2E32B1264666,$E2B52B82202E24BC,$0680281264665BB1,$AFCF4415CA3AE740,$6853135BEEBF4B9B,$A41E178BE7B8AD06,$DA9059F843DC4F4F
    Data.q $B85E86882C49919B,$3AE6F2F58802967F,$0E37E01AA74CF9BA,$BDB074355DE3A4AE,$47EEFD1B78F47E92,$6FE85BFDCB07E13D,$CFA76B9FB7475E5E,$0CC5E9E8FA572D4F,$E06802C49519B750,$BA3D6200239543F2
    Data.q $E3D08CE7563690B0,$86D2E6FD4ACAA56D,$FBF48D95E2F98180,$F9F49D73EDD0D717,$A27FDEA4681E15E9,$C4CB44EA55320189,$AEA3B402DB57D7FA,$7BD472734DA00BC0,$86D69E8DBD037B70,$AEC0D040DC3DB42E
    Data.q $435818E148D0B605,$D2073E5007892233,$05F5DDA62B2F8EBA,$6A1D40095F36BDB4,$40A7F1018801E199,$01358E3E7DB1BA00,$6555D9E774428274,$8FB900D2293910B6,$E2FFA80504C44535,$1B68EB7402A88AEA
    Data.q $565DC2B8F0ACEA9D,$5FCF055CD379757C,$2468CDDB63E5691D,$40148E9029C83D68,$EF414F15E39BAFCF,$02625C1F1F445FEE,$3B75679596DE44E8,$F55D8DE80291D205,$099653CFCCF4F05E,$8D72CA6A86FF5819
    Data.q $CB01ACDA44F91D33,$785E9E36985034B7,$970787D031EA22A0,$F055AD6FF5044B2A,$55C9D3D4F7CFFF60,$11CCC965BA0800A5,$4CCD0D2DBA78004A,$D6E1D1260A4B4F1F,$8825474B7B99D2EF,$0A4B4E9E2D4FFBC6
    Data.q $75013241BB300953,$4B9A75A78043C39C,$8F9675F50E5E67A9,$DA22E2F0E638400A,$65526797D69F3F37,$FC568CDFA88644D6,$2C3A7FC1C18ED3C1,$A97A64C672B4030F,$74C5E599FA40F02B,$E0CAC17AF858B2DA
    Data.q $1CDFA00909CF77AE,$40F051CD37D7A36B,$CD1774D968F373BD,$E80538A258D13A9D,$177F9CD471D4D4CE,$C50707FA57F7D61E,$B9E1F880F5151445,$3E80682CA3B674B9,$03DCAFB85E94B439,$3AA8828E4E63B410
    Data.q $9E04E2CEC99103DB,$B40F0E845C080C26,$0DED76402FD0A9AF,$19080282AA6B2BA9,$6B410011B2CEC5D8,$D7A806E4CFD432CA,$B1018BD4007C5E8C,$58E853A57DD03EB3,$820782F9009F4CDB,$A46B1EF7A0060B4B
    Data.q $121621005E79B59D,$C51D002716371900,$42992CEAC3C1D880,$E557040238675A47,$C7D004E6373B200B,$597281434F685A87,$F1400CD3339D403A,$7661B49D9E0C900A,$2D95B4F52A71A7B6,$18A020BEABB3C139
    Data.q $8015B8E91AFB67E8,$48131F5A4701B76F,$459390314E4029C7,$EE9E689E972F3ADA,$C6DED0AE61600881,$AEC2CA7323211E69,$64E86BBA97A6A86E,$01C3B5AEB4ED197B,$CFA8A78BAB60641C,$A006FB04214BC86D
    Data.q $84E6797C29080438,$3D067940F5D22180,$BDA56C9D59619158,$6DBEF10810AA058D,$26B29655536872F3,$C341D870554F67DB,$82FEB85E6438E0E0,$801B270A9A7861DC,$E3C9BCA20185D5E2,$5650B2920A8560D4
    Data.q $8BAC9C5067C182AC,$1C07BA49576C709D,$DA04CA68BB005CFC,$E38A00631D4F3AD3,$87C65345BE2B9A20,$0D09161409A01204,$C0EB9EA94515F452,$60E756504C64955D,$0686F97F8FFA0EEF,$30B2112801ACFC7F
    Data.q $424587EC3C18F4A4,$E38B05D7CD29CEF1,$32B9B4B935DD980F,$836B053761A5846B,$7F46DCEEF767C4CF,$CFFDFFDB099FE6FA,$1C500346AEC9F4B7,$391A03C694EED402,$42C10990B00AF8A0,$40026B022B039DD8
    Data.q $6D704CB0D7841300,$5C4C00B0096E0600,$5D29767EA94B345F,$F110EDFB7D12E979,$55370FA4DEAFCDF6,$021C500354F2C0D2,$A65A600F1A481F94,$E39354E9198AD1A7,$C107770543093152,$F2B0A097DF89D9FD
    Data.q $E67415B9D6A78F26,$81E57DDFF5F4D3F0,$E57ABE8CFCBEBFE6,$B4C9B6ADE81C0780,$E3153335CF8324BA,$2C127785D901A208,$57536455D68EEE89,$5C02514D14B52659,$953F20B56C93D995,$EFA2E153AEB62FEE
    Data.q $3E987B3F6F4E9A2D,$9AFE1FE3FA55EB7D,$18F93D3F47DAB83E,$574E2F2E94BC3FF5,$19930D73AC3830B0,$14A00BE2D4663BDC,$89BE370A7B8203CC,$2CA6D9D1E6D7F694,$9521BE74A2996FEA,$597266433C14B2AA
    Data.q $19B86CFF8954427C,$00663B2AA7A6F8A7,$3FBB3A7147507AC9,$18C401A258024F03,$AC708A85E67A46B0,$CAD2CADAB6A641C0,$470A66AD69CA2733,$5F822E41CDD48082,$64EEFAAF641C5D64,$B948A4582AB21205
    Data.q $9D34ABAB5C1A5835,$B608A4666A5DF21A,$0249A80304C42CCD,$BB2800776E3D05C4,$D12B2EAA42E02322,$64FA65BE3AC2B4BE,$CDDDAD93C937905A,$13D9498212C9C6CE,$DA846C4564D92015,$AA735E392992800D
    Data.q $D7035F3CA9764FEE,$00CA86E60C65F5C5,$51710FAA72001634,$02019CADF70EC710,$3B017679C21F5C24,$FB880518D00349BB,$2E19D555322B1B57,$17129AD502B1F64B,$3A2E79C1D1772A6D,$03552ECD4BA2EB5E
    Data.q $30C680190F11F5C2,$85D0C6DCA39AFE40,$909157A67342EAEC,$652C6801AA596375,$6655764FE400A161,$5E09400C720BC3A9,$81E0BE40268C1C50,$359F11EE554FD78E,$01DDC7527285273F,$32A39E1FE27466D4
    Data.q $DC238D376EBA468D,$F4CECC76803F8516,$31314CDECEE0159A,$F7AA8E0F7149C14E,$02CB46FC15F2A320,$D3DE59B6D1716B5D,$E990D28E7BB5F843,$98B5C3BACB9FC7C4,$0C193150618E2640,$B4D6F5F44A94266E
    Data.q $B33DA2EC5D5CE011,$8920CDE2A237679D,$6D9271BFD6E6A995,$A776D536CBEF710D,$9957342AE2A0FEE9,$979E9FFB0BA1CDB9,$EDE548EEA47652A6,$A65783AB44C1D500,$24669EB0FD3DA58A,$8883E880C2D33947
    Data.q $F3EB7E9110728399,$91CE6EDB5C2D2396,$206830B46ED40014,$E3C138EF1078251A,$91AA29E3DE05256B,$F08AA660E7550700,$28F317A3440C168D,$13B1E0FE08DAEC78,$AAFE45C421E2152C,$06DF274E1F9BB2D2
    Data.q $62A3C118E03B7322,$E8759CB13B25A71E,$69757D62A105A84B,$B80AB50A88919ABA,$11011ECC2D4FEFAD,$75526C47DA666FFA,$73C07A6677BC2055,$C3185E818029639E,$3EB86B150A804BE2,$401E8C705326B151
    Data.q $795730696303F87D,$560864BCDFCB6CF5,$9F3EE7446E5D40E1,$9BEA70DEDBF6CC69,$5EE6F098ECFC5CE1,$D749D18D8A643F37,$21C4341AA27324A9,$12CBE06B3B6452FA,$0C028651697396A0,$70824B9FC0D606EE
    Data.q $89D3B1A050A6BB3C,$1E261EDA113AE1FA,$A9ECEFF883400E8A,$C9F63341EB86EE1A,$56360624757FC6C1,$DCCCAE10FEDCE802,$C369E2FB29923A5F,$2CEE08048E710656,$2A10AC113191E191,$583BA016450AC6E9
    Data.q $4A71FA678656C9FD,$7A2DC2A161E0163D,$69F6284500966466,$4C8199BC8A0BBC2E,$C9B8280A249F11D9,$3E9724ABDD4F67C2,$B7D43F7EAA9ADEBF,$A22BD080191F5A4C,$1B6C89BA9E39D56D,$753479D490284CC8
    Data.q $A5DC0593757AC4FB,$270D675B4424DF43,$987409661FE9EE08,$9F792F33BB950D00,$D08F144641F63D41,$EFFD0CFD787F8C00,$0093DE1B4E437E7F,$C6E3239F791FAE9D,$5DFA1A8EE0596CC2,$C175CDE2898E214E
    Data.q $F22BE9FF6F9A012D,$6BC0A07CDD22C1B7,$C31614C86BDF114E,$AEF4ABA7F7DD4803,$37E543EF3BA991A5,$8AF1C2D16E0AB19A,$080160A9DB9C3FAE,$F9C58E1BA04B9DB8,$0EDCCBA67ABB9F4E,$FDB8A9E9A9000238
    Data.q $DFD221C2C8FF1E8A,$F14588144021BB68,$23CBC0E3FD55C1B5,$A7BF0854B09395DC,$B240048A006D32BB,$106EE0A4804B117D,$0DB15F115804030C,$60F82A6FCFF7FB80,$545DC8061CF982C9,$6803240048A0F534
    Data.q $77F47F02CB41FF59,$75C694362FD296D6,$F3C3E2F0DB76F626,$A0C8699F118BC30D,$DA160FFBD137760F,$06110D0DF113C402,$65B5D154C78C4E48,$D7C7F425E6C2E853,$FB47D07617DBA49E,$F2AE6A451DABD397
    Data.q $DA260A0058030268,$DF9D2670B3D35C73,$7DFF4EDE9D1F4ADC,$6D6E8FB2FD0D1CF3,$114748A9900B6D9D,$EA48067EF2222E20,$5D076F7D74BDCBCB,$8A548A2B7D40D2DB,$B82C06882585418C,$D014D5D60061803E
    Data.q $0143BBB2BA2AB6DE,$32E8C0569CEFAFF3,$D8EF7A764029C500,$9AF4E87B91E57A7A,$E7D5F694A2B53A06,$EB5E2978181515AA,$FEF20C78E14850CE,$F6FD0243080542C6,$00324E281D92AF62,$DB33EBF4BE401025
    Data.q $400C30182938003C,$151138DDBFD00649,$0190032006400C40,$6FBA0564FE803028,$32D4CD1D1DA1E91E,$67508EE7A62A8CB7,$9EEF46DB5FED3563,$E0D5DD00320065D9,$CAEA8DBBB274BDCB,$B2BB001271A0BC8B
    Data.q $3C0201D92801837F,$80B8DA5152A6CA4B,$972CA756D0DA91E1,$4699AF6A01492801,$B82080643CFE9385,$CEE2F40212500335,$B93E8201709E0A95,$6BAD006C9400CFB8,$03215AA140188928,$52C935DB5756CD90
    Data.q $DD9A96354B2AA581,$D7DA012C7C69685A,$CAF7CB5E0903DF3E,$0C42C4200C4426B3,$C08FD87264226205,$E3343FC8019D991C,$BF21F66921BB152D,$B4ED52DC10038510,$F3B3EB080C300F34,$6A6D4FFB958E788F
    Data.q $D7777E7AF8C304F3,$FEFFDF4C82004008,$4E38403A240F31FA,$BBBA402973EF173F,$681F954E0DC807A4,$0E87008054288282,$D005ED5F1ED7AE8C,$1012890B6D1A8791,$6F8E8048C7C22B27,$07A4A8015AD3E559
    Data.q $0905152CCFE002C8,$55EB07976E442D8E,$0CECA4201346EB8E,$6200EDE548606711,$868036B6200BE1AB,$900F4949EAFE910B,$40E136C5A17FC835,$7AE69A99ABEDAE54,$109FCBEEC617542E,$45C0656BB38BB0FF
    Data.q $1F7847705238C539,$D256AC2442D02F2E,$8F00230B5976E402,$C4017DFBB333F2A3,$09C8EE0803B29137,$5A38B7360FDF7D18,$EC3066715C556420,$4CC7A5C01C587552,$15259AD2401DAE7C,$B5F480102780B140
    Data.q $F5974B2CAE201262,$7E6C023F6ACDA9C1,$455AD6DA018A960F,$8B45419E7BF8FF5F,$01CE0308961B0782,$D852B08C0E5717F0,$C6E0386160804907,$802A49F5A4996957,$100B84F0EA2B6EDC,$660223B5A1CEF443
    Data.q $5CF1A5FDF7850029,$3A012DCFE36C41DB,$01F3852B74A80440,$626A80264B059D92,$00FE540A00244F01,$80C8EAC062C380C2,$E19D1214C7804EDA,$560804B13C158829,$63AA1A70B0BD1228,$008B1E6AEBB7201E
    Data.q $D412505FEEEAE0B1,$CE99BBE9163E0E74,$C0100AB1AAA01BE1,$D6182102C1B99081,$6C82175C1007F101,$258F3569EE754CD3,$1FE387FD446C5080,$4850080065706564,$0420783B698322CB,$40BB3324F3AE9CC7
    Data.q $0080344CCA01593A,$95820B6C840A2C08,$1C31C297BD323401,$491AD234C4020103,$651C17A4025FB080,$006384CB04EB045C,$064A5E326007BE1A,$D900289B542B0617,$8B8DA1F509FD0C15,$5CCA2A9D920CF966
    Data.q $58592C9F73B50E89,$1457040098AF7DB8,$ADFCEEE0CADC3428,$10314EC72B1CBBF3,$29FCE6EE91011517,$58E146B131D12B59,$38B0D32B25372720,$82C169E9027ACB4E,$2881FCA2E10C1538,$1ADD4585EC64B733
    Data.q $ABBA8699CB441B85,$1301D577185D640A,$9CB6CD03E0616160,$1CE9E64C705E922C,$5EB15DFA10048939,$0030F2D971032858,$4CFA402E143EB945,$100D62C7F42DB844,$928AF3EA1DDD2462,$A430BB3C5A503E75
    Data.q $EF3A4771D19208E5,$04AC466D2E689E0F,$8F2DE91B10900677,$CC32B52C60A80564,$09E26BA409D1F8DA,$4D19B58813EF9E20,$E7D92E2CE7403880,$DCCE1050403B9744,$F311A1F3920050A1,$117AE2001E3A2570
    Data.q $3195599F78834C4F,$D2CDC33258498D9C,$AC29F4B4C8617542,$201344F29721AE98,$116E724A6B915B39,$6B6F1EB2CC7C4BC4,$0D630BF7C4D26004,$82140CD78D0F9C90,$6386031EF0DAE969,$C961EE681E689CE4
    Data.q $0526644807D817D5,$241994083E6B2497,$32535CACA9E590D9,$F480291446B14500,$EC7DE683CF0C71EF,$2F4FE15DB44E78F2,$2C030BAFA3BEA20A,$A400F3CBEF91F75C,$1001A35FD3062801,$DF85C5C8FD97D120
    Data.q $C89AC06ACBCCBCDF,$B0F4972A715CA966,$B7AF549E574D928B,$6F1CD40181400C30,$A0B40255B37A4100,$484B40C16E2BC328,$09C77D711AD8BAE0,$2758580DE977EE20,$0E97DD2402825003,$82013EFDA5FB7410
    Data.q $4D3642FABC380245,$8C639D3312188075,$E8074A0759A08400,$EC404200BC7A27A7,$2280187057D2CBD4,$4AEC840368ED5007,$6CCE803FBDF15536,$B3F659061005EE59,$802F960E97991AF0,$3AB728A0066909F4
    Data.q $EA9E670214900122,$AA9E65B2FA400A1A,$033BBA5E3840281A,$5E30B948B1339450,$6080503E6EB4EA81,$0AB2402C142B7471,$00522CBF728A006D,$3DA5D005F1E32DD9,$00FE42B3B2016DAB,$801A1095CE185992
    Data.q $F509C900A8510CA2,$03A41FEEECECEDFA,$1C02016DBBB3ABF4,$2AD2D30421BA4000,$E442CE5AB57100E9,$0A8510CA2801931A,$607AEC980D0F9C90,$2F103ABB201D18F2,$6A15E90DD23001DB,$A6572E7CDA071009
    Data.q $87A01D4E43797BF9,$2C1442E1400D524A,$784E11EA1925ED40,$D765D640EB4F1CE0,$47EBF2C70C6E978D,$218456C402D9D557,$B8716931BDC3AB60,$F65368DE4716C195,$A223C30FCF15F0CE,$DA9D3F10092958F0
    Data.q $6A60DE8144061400,$45AED0FD88D66573,$539CE0787341EAA5,$2F715AD959365DE7,$C1825D748CC79F4C,$AD264FBD041957AB,$EBEBE37ABE8E2C0B,$B2B499651D381547,$AC06788AC9E235C8,$C402E1C5483FC801
    Data.q $DD24ABBAF083B8B7,$611CAA7B89E8240B,$D969D51B40867642,$E38332BC366BD78D,$38B83202F6DBBB1F,$B0785A9E14873A7D,$AA454B7CB63D56A3,$65170F93D7AA767A,$20060A2751228018,$A28ADC755C9AEED6
    Data.q $B1574DD736985B54,$8365098B185A9E12,$9A0ADD2381A29E57,$D9553DE400F7EB2E,$018E41787D369F3E,$850CE69CD2880828,$13C1CE1C5C149002,$CE770EA06260ED9E,$8121FDD5D5F540F3,$702C04334F065882
    Data.q $3C5D59802604784D,$1D94ADDD9CAE3D45,$00DA8D3F0DB56F40,$80657B77B6441C14,$4F0A480243334ABA,$C9C70606B8F1C676,$41CF3D8A1B5B4142,$C07218FC30C427F5,$FD3A12C0C2C3EB82,$E9C5E5D2A7EBC72C
    Data.q $2801B6634CE7D6B6,$E28EA00EC8BAE08C,$1D70A565F201B0F4,$386CA6B59F5C0958,$F9039C290C18810E,$2C0DB1096E0A4502,$78F891619F53D38C,$3F34031A5C045003,$05C2BEC8402D9277,$EB0D07F1A5829A28
    Data.q $0273CDAFED1A6B7A,$9AAA35BC1190DFA8,$C6D203FEEBD65851,$D4099321005ED959,$74594DB3980AC402,$E5879BCF507A6975,$9F9BF7E1B2C0F091,$D8422A1AF500C293,$21BC7F5A676B8BCA,$6A9ED227324B11FC
    Data.q $509BE207B11D34EF,$E80397818E031D07,$9A1739D572EA074F,$300C11EB032C5533,$F8A9748F31C6802C,$019E369856EFC0C7,$32F3F1B8843437CA,$9746C5D3C753B9A0,$E5976C4042C44FA7,$161AF000489B1A04
    Data.q $B829BBA240A14EC1,$04167F6DB30B53B4,$FF1344D6654F0CDF,$A212834B14A00844,$AB45DEBA745D5A37,$B543840867748E67,$425F1EBAC104B044,$F95AC14AC1EB83DC,$BBFCEA0461B86CFA,$9F58C86781EA9DCC
    Data.q $CB2A0CAEC95440C8,$DBB7A24D37CF471C,$A402B54B9E70745C,$85832B833B270B4B,$20BB1E580003C0C0,$5062658F54B2C6F8,$82471610EE306100,$947E8CC9A81E59A3,$9ECCF68E36969A20,$590916E9201306A8
    Data.q $0D00D5886965BC4C,$29790D58AAECD1AA,$3D466ED9EFC1E632,$C6A50FF896ECEE3A,$574488D143F4F1FC,$C5030956BBECCF7B,$B70560ED827083ED,$65C2A719584B85C4,$AD2098C92A24FE73,$82E8ED19A575DC0E
    Data.q $A264B6B411AD2BD4,$C252A3419BA48D8A,$A60A5E21400E2EC4,$50074B0908ABE810,$DC82D3F8DFAE5D70,$66290C27721C1D14,$A001B5FA8D676384,$CA4F2458461319CE,$B36DA2EB5E3BED6C,$67D5C024BD3ABA46
    Data.q $3E1E7C2E87020527,$42959D6D176AB1F7,$E5826FD3817BA7CB,$A43B9FFDDF2903D1,$D2ACBC526B27B6BB,$0213B1C3CD136988,$824A6B03CA300C71,$82D7085CE0E70407,$6D58E8BA16E7ED70,$8668351EC88EB28A
    Data.q $01A5BB5307F1380C,$F4898A9EA6012ADD,$5AD7E5A72149FA83,$D811F5C18EBE4A5C,$D7CFC2C300DA0AC3,$6B27D4C062555C6D,$82826D36D496B248,$3EB9D90F030A560A,$B9C1CE1C7C06CA16,$5807056513802CB0
    Data.q $F049A0634B6E3BA0,$A0EC06EAEDC9A978,$6EA3C4B3B8EE908A,$C9A9F8824A7B8D80,$E820DCFA8547D83D,$D26F9F776B8ED3EA,$9B33666CCD99B36E,$5492AA7FFB77E2D9,$000000301CB5F706,$6042AE444E454900
    Data.b $82

  Bouton:
    ; size : 1083 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$2100000099000000,$9EA7450000000208,$47527301000000F5,$0000E91CCEAE0042,$0000414D41670400,$00000561FC0B8FB1,$0000735948700900,$C701C30E0000C30E
    Data.q $49D003000064A86F,$4F9BED4368544144,$D1B45DC614515448,$1728B549041A904D,$B75D22D285C6D606,$A5996504DA6D576A,$DC8A44EB42145969,$650C09B8441FE8B7,$67519C7470CA7340,$929A91A4D2708214
    Data.q $3BC1EEF7DB971690,$E71BDA8D337DEE77,$73BCEF7C38FCBDC9,$929BB379BF7799CF,$CE725E39653B5D94,$5ED2FB05DBE5DBAF,$F20EF8B65AFD8A52,$53E2D173F64BC32E,$78629F160B532F0C,$7E5E18A7C5B3E3F9
    Data.q $F32B978629F164FF,$7C5B8C9978629F16,$314F8B19B7E5E18A,$E5E18A7C5A8E5CBC,$852E5E18A7C5B0D7,$74ACB06FA2F926BC,$056B76F44884A4A0,$B0D8DE3FDF7D58D9,$684609FFE5A43D36,$D5A3C1F50AD736E3
    Data.q $C3116FD68DE07FF9,$D1FCF926BD1F2FCB,$D5E85BE8B5B1DD58,$0B5190AA87C3D7D1,$08C2EC1FCC6EA1B2,$5CDC472CA81D220C,$EE7A248E6B07D42B,$188B7EB46C6CF969,$C3D9F24D783E265E,$EAF400C8B5DABAB1
    Data.q $2EC749EB27E357BB,$10032D420757A19C,$1117705CE3EF8F4B,$426472DEC0E2D719,$B40471D448C80D4D,$866A8ADAE8DA2B6B,$51995DCF4481560F,$CA1E2362EE1BA177,$5EA30B9786002FAC,$9A86C6FEABDA7C93
    Data.q $C8EAFF707C3929EA,$F53078E04B81004B,$099962D719A84006,$0604622754461CD6,$90915B579EBCA739,$9E4F81033256CD1B,$0F72A05775C77078,$E8D7A869EAD73522,$3BE959AF45D0F25E,$D0F3A19FDF7C7635
    Data.q $6646ED548ECFFBBF,$401500E27431BBB1,$4CCA5C08019652E0,$1502B3055774C53E,$583D0F23D6420065,$E2AD9B4223660BBA,$763971A135016AE7,$2F66D8017D6B96E1,$32DFA47B0E6D3D01,$9AEE92E04018A393
    Data.q $8A735DC8ADAB41D0,$A11C9763937A656C,$66C9CBC31AF693D6,$C5331384F99A2606,$F51FCA35A1202625,$24440AEAC11671B1,$50220650E9DA2871,$C5A96F28DA194A5E,$DC68773C9C72019A,$2D7D343D646438C5
    Data.q $2B438E4097BDB220,$648F59A485D8E654,$23802BE164BDD001,$BCD137445C065E4E,$C844EBF4A8F1D769,$70BCE0CB5977C547,$034745D801817389,$034A51E58AD3238D,$B231BD018B2103A8,$E9A1E40869C9EA55
    Data.q $7C6C7C07515B5DDC,$13A9775DDB4350AB,$A72F78C6BD253D65,$D8585B879113005A,$9BB85363D2B58E89,$CBC3086CB75C1FFD,$C055C8F2B48B2B48,$3142EB88981CA710,$E8B25EE84C5EBADB,$2C875AC70B482E35
    Data.q $B4E5EF182C5EBAC2,$89D8F0A22D311303,$AC296CDDC29B1E19,$7CED3397BC62DEEB,$D3E0263688511DA6,$61B17AEB0AA04C6D,$0A51130037B397BC,$7EDF5D614D8F4CC4,$89D62C9D632F0DD7,$169881D62C1D63C8
    Data.q $52D9A689D66C1DB3,$BC375D414533D758,$2778F0550264DF8C,$EBADB375E6C28860,$E2EB9B25EEBAE5C5,$99B845D11300B773,$BDD75D1B7D75852D,$744205CDBF9CEC74,$7AEB2EEFC745A601,$275DCF0A5B377086
    Data.q $7AF906FFDA5ED2EF,$ACB19DAEC837FC65,$F7017F52A5653B97,$0020ECCDD227A33A,$AE444E4549000000
    Data.b $42,$60,$82

EndDataSection

Enumeration 1
  #Fenetre
  #ImageGadget
  #TrackBarGadgetRouge
  #TrackBarGadgetVert
  #TrackBarGadgetBleu
  #TrackBarGadgetTeinte
  #TrackBarGadgetSaturation
  #TrackBarGadgetLuminosite
EndEnumeration

; Créé par Le Solda Inconue.
Procedure.i GetTeinte(Couleur.i) ; Donne la teinte d'une couleur.
	Protected fTeinte.f, Rouge.i, Vert.i, Bleu.i, Minimum.i, Maximum.i, Difference.i
	Rouge = Red(Couleur) : Vert = Green(Couleur) : Bleu = Blue(Couleur)
	If Rouge =  Vert And Rouge = Bleu And Vert = Bleu
		ProcedureReturn 160
	EndIf
	If Rouge < Vert And Rouge < Bleu
		Minimum = Rouge
		If Vert > Bleu
			Maximum = Vert
		Else
			Maximum = Bleu
		EndIf
	ElseIf Vert < Bleu
		Minimum = Vert
		If Rouge > Bleu
			Maximum = Rouge
		Else
			Maximum = Bleu
		EndIf
	Else
		Minimum = Bleu
		If Rouge > Vert
			Maximum = Rouge
		Else
			Maximum = Vert
		EndIf
	EndIf
	Difference = Maximum-Minimum
	If Rouge = Maximum
		fTeinte = (Vert-Bleu)/Difference
	ElseIf Vert = Maximum
		fTeinte = (Bleu-Rouge)/Difference + 2
	Else
		fTeinte = (Rouge-Vert)/Difference + 4
	EndIf
	If fTeinte< 0
		ProcedureReturn 240+Round(Mod((1/6*(fTeinte*240)), 240), #PB_Round_Nearest)
	Else
		ProcedureReturn Round(Mod((1/6*(fTeinte*240)), 240), #PB_Round_Nearest)
	EndIf
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i GetSaturation(Couleur.i) ; retourne la saturation d'une couleur.
	Protected Rouge.i, Vert.i, Bleu.i, Minimum.i, Maximum.i
	Rouge = Red(Couleur) : Vert = Green(Couleur) : Bleu = Blue(Couleur)
	If (Rouge = 0 And Vert = 0 And Bleu = 0) Or (Rouge = 255 And Vert = 255 And Bleu = 255)
		ProcedureReturn 0
	EndIf
	If Rouge < Vert And Rouge < Bleu
		Minimum = Rouge
		If Vert > Bleu
			Maximum = Vert
		Else
			Maximum = Bleu
		EndIf
	ElseIf Vert < Bleu
		Minimum = Vert
		If Rouge > Bleu
			Maximum = Rouge
		Else
			Maximum = Bleu
		EndIf
	Else
		Minimum = Bleu
		If Rouge > Vert
			Maximum = Rouge
		Else
			Maximum = Vert
		EndIf
	EndIf
	If Maximum+Minimum =< 255
		ProcedureReturn Round(((Maximum-Minimum)/(Maximum+Minimum)*240),#PB_Round_Nearest)
	Else
		ProcedureReturn Round(((Maximum-Minimum)/(510-(Maximum+Minimum))*240), #PB_Round_Nearest)
	EndIf
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i GetLuminosite(Couleur.i) ; Donne la luminosité d'une couleur.
	Protected Rouge.i, Vert.i, Bleu.i, Minimum.i, Maximum.i
	Rouge = Red(Couleur) : Vert = Green(Couleur) : Bleu = Blue(Couleur)
	If Rouge < Vert And Rouge < Bleu
		Minimum = Rouge
		If Vert > Bleu
			Maximum = Vert
		Else
			Maximum = Bleu
		EndIf
	ElseIf Vert < Bleu
		Minimum = Vert
		If Rouge > Bleu
			Maximum = Rouge
		Else
			Maximum = Bleu
		EndIf
	Else
		Minimum = Bleu
		If Rouge > Vert
			Maximum = Rouge
		Else
			Maximum = Vert
		EndIf
	EndIf
	ProcedureReturn Round((240*(Maximum + Minimum)/510), #PB_Round_Nearest)
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i SetRouge(Couleur.i, Echelle.f) ; Eclaicir ou foncer la composante rouge d'une couleur
  Protected Rouge.i
  
  Rouge = Couleur & $FF
  Rouge * Echelle
  
  If Rouge > 255 : Rouge = 255 : EndIf
  
  ProcedureReturn (Couleur & $FFFFFF00 | Rouge)
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i SetVert(Couleur.i, Echelle.f) ; Eclaicir ou foncer la composante verte d'une couleur
  Protected Vert.i
  
  Vert = Couleur >> 8 & $FF
  Vert * Echelle
  
  If Vert > 255 : Vert = 255 : EndIf
  
  ProcedureReturn (Couleur & $FFFF00FF | Vert << 8)
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i SetBleu(Couleur.i, Echelle.f) ; Eclaicir ou foncer la composante bleue d'une couleur
  Protected Bleu.i
  
  Bleu = Couleur >> 16 & $FF
  Bleu * Echelle
  
  If Bleu > 255 : Bleu = 255 : EndIf
  
  ProcedureReturn (Couleur & $FF00FFFF | Bleu << 16)
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i SetTeinte(Couleur.i, Echelle.f) ; Changer la teinte d'une couleur (Echelle comprise entre -1 et 1).
	Protected Rouge.i, Vert.i, Bleu.i, Alpha.i, a.f, Nuance_Blanc.i, Nuance_Noir.i, B.f, i.i, ii.i
  
  Rouge = Couleur & $FF
  Vert = Couleur >> 8 & $FF
  Bleu = Couleur >> 16 & $FF
	Alpha = Couleur >> 24
	
	; Recherche de la teinte
	If Bleu >= Vert And Bleu >= Rouge And Bleu > 0
    a = 255 / Bleu
    Nuance_Noir = 255 - Bleu
    Bleu = 255
    Vert = a * Vert
    Rouge = a * Rouge
	ElseIf Vert >= Bleu And Vert >= Rouge And Vert > 0
    a = 255 / Vert
    Nuance_Noir = 255 - Vert
    Bleu = a * Bleu
    Vert = 255
    Rouge = a * Rouge
	ElseIf Rouge >= Vert And Rouge >= Bleu And Rouge > 0
    a = 255 / Rouge
    Nuance_Noir = 255 - Rouge
    Bleu = a * Bleu
    Vert = a * Vert
    Rouge = 255
	Else
    Nuance_Noir = 255
    Bleu = 255
    Vert = 255
    Rouge = 255
	EndIf
  
  If Bleu < Vert And Bleu < Rouge
    a = Bleu / 255
    Nuance_Blanc = 255 - Bleu
    Vert = (Vert - Bleu) / (1 - a)
    Rouge = (Rouge - Bleu) / (1 - a)
    Bleu = 0
	ElseIf Vert < Bleu And Vert < Rouge
    a = Vert / 255
    Nuance_Blanc = 255 - Vert
    Bleu = (Bleu - Vert) / (1 - a)
    Rouge = (Rouge - Vert) / (1 - a)
    Vert = 0
	ElseIf Rouge < Bleu And Rouge < Vert
    a = Rouge / 255
    Nuance_Blanc = 255 - Rouge
    Bleu = (Bleu - Rouge) / (1 - a)
    Vert = (Vert - Rouge) / (1 - a)
    Rouge = 0
	Else
    Nuance_Blanc = 255
	EndIf
	
	ii = Echelle * 1530
	If ii > 0
		For i = 1 To ii
			If Rouge = 255 And Vert <> 255 And Bleu = 0
				Vert + 1
			ElseIf Vert = 255 And Rouge <> 0 And Bleu = 0
				Rouge - 1
			ElseIf Vert = 255 And Bleu <> 255 And Rouge = 0
				Bleu + 1
			ElseIf Bleu = 255 And Vert <> 0 And Rouge = 0
				Vert - 1
			ElseIf Bleu = 255 And Rouge <> 255 And Vert = 0
				Rouge + 1
			ElseIf Rouge = 255 And Bleu <> 0 And Vert = 0
				Bleu - 1
			EndIf
		Next
	Else
		ii = -ii
		For i = 1 To ii
			If Bleu = 255 And Vert <> 255 And Rouge = 0
				Vert + 1
			ElseIf Vert = 255 And Bleu <> 0 And Rouge = 0
				Bleu - 1
			ElseIf Vert = 255 And Rouge <> 255 And Bleu = 0
				Rouge + 1
			ElseIf Rouge = 255 And Vert <> 0 And Bleu = 0
				Vert - 1
			ElseIf Rouge = 255 And Bleu <> 255 And Vert = 0
				Bleu + 1
			ElseIf Bleu = 255 And Rouge <> 0 And Vert = 0
				Rouge - 1
			EndIf
		Next
	EndIf
	
  a = 1 - Nuance_Blanc / 255
  B = (255 - Nuance_Noir) / 255
  Rouge = (Rouge + (255 - Rouge) * a) * B
  If Rouge < 0
    Rouge = 0
	ElseIf Rouge > 255
    Rouge = 255
	EndIf
  Vert = (Vert + (255 - Vert) * a) * B
  If Vert < 0
    Vert = 0
	ElseIf Vert > 255
    Vert = 255
	EndIf
  Bleu = (Bleu + (255 - Bleu) * a) * B
  If Bleu < 0
    Bleu = 0
	ElseIf Bleu > 255
    Bleu = 255
	EndIf
	
	ProcedureReturn (Rouge | Vert <<8 | Bleu << 16 | Alpha << 24)
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i SetSaturation(Couleur.i, Echelle.f) ; Contraster la couleur, échelle négative pour diminuer et positive pour augmenter.
  Protected Rouge.i, Vert.i, Bleu.i, Alpha.i
  
  Rouge = Couleur & $FF
  Vert = Couleur >> 8 & $FF
  Bleu = Couleur >> 16 & $FF
	Alpha = Couleur >> 24
  Rouge * Echelle + 127 * (1 - Echelle)
  Vert * Echelle + 127 * (1 - Echelle)
  Bleu * Echelle + 127 * (1 - Echelle)
  
  If Rouge > 255 : Rouge = 255
  ElseIf Rouge < 0 : Rouge = 0 : EndIf
  If Vert > 255 : Vert = 255
  ElseIf Vert < 0 : Vert = 0 : EndIf
  If Bleu > 255 : Bleu = 255
  ElseIf Bleu < 0 : Bleu = 0 : EndIf
  
ProcedureReturn (Rouge | Vert <<8 | Bleu << 16 | Alpha << 24)
EndProcedure

; Créé par Le Solda Inconue.
Procedure.i SetLuminosite(Couleur.i, Echelle.f) ; Eclaicir ou foncer une couleur.
  Protected Rouge.i, Vert.i, Bleu.i, Alpha.i
  
  Rouge = Couleur & $FF
  Vert = Couleur >> 8 & $FF
  Bleu = Couleur >> 16 & $FF
	Alpha = Couleur >> 24
  Rouge * Echelle
  Vert * Echelle
  Bleu * Echelle
  
  If Rouge > 255 : Rouge = 255 : EndIf
  If Vert > 255 : Vert = 255 : EndIf
  If Bleu > 255 : Bleu = 255 : EndIf
  
  ProcedureReturn (Rouge | Vert <<8 | Bleu << 16 | Alpha << 24)
EndProcedure

Procedure.i SetColor(Image.i, Rouge.f, Vert.f, Bleu.f, Teinte.f, Saturation.f, Luminosite.f)
  
  If IsImage(Image.i)
    
    Static CopyImage.i
    
    If IsImage(CopyImage.i)
      FreeImage(CopyImage.i)
    EndIf
    
    CopyImage.i = CopyImage(Image.i, #PB_Any)
    
    If StartDrawing(ImageOutput(CopyImage.i))
      
      DrawingMode(#PB_2DDrawing_AlphaBlend)
      
      For Y.i = 0 To ImageHeight(CopyImage.i) - 1
        
        For X.i = 0 To ImageWidth(CopyImage.i) - 1
          
          GetCouleur.i = Point(X.i, Y.i)
          AlphaCouleur.i = Alpha(GetCouleur.i)
          GetCouleur.i = Red(GetCouleur.i) + Green(GetCouleur.i) * 256 + Blue(GetCouleur.i) * 65536 
          
          SetCouleur.i = SetRouge(GetCouleur.i, Rouge.f)
          SetCouleur.i = SetVert(SetCouleur.i, Vert.f)
          SetCouleur.i = SetBleu(SetCouleur.i, Bleu.f)
          
          SetCouleur.i = SetTeinte(SetCouleur.i, Teinte.f)
          SetCouleur.i = SetSaturation(SetCouleur.i, Saturation.f)
          SetCouleur.i = SetLuminosite(SetCouleur.i, Luminosite.f)
          
          SetCouleur.i = SetCouleur.i * AlphaCouleur.i
          
          Plot(X.i, Y.i, SetCouleur.i)
          
        Next
        
      Next
      
      StopDrawing()
      ProcedureReturn CopyImage.i
      
    Else
      ProcedureReturn 0
      
    EndIf
    
  Else
    ProcedureReturn 0
    
  EndIf

EndProcedure

If OpenWindow(#Fenetre, 327, 177, 330, 350, "...",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar)
  DisableGadget(StringGadget(#PB_Any, 9, 9, 152, 152, ""), #True)
  
  Image.i = CatchImage(#PB_Any, ?Poisonicon)
  ImageGadget(#ImageGadget, 10, 10, 150, 150, ImageID(Image.i))
  
  TextGadget1.i = TextGadget(#PB_Any, 170, 10, 150, 15, "Rouge: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetRouge, 170, 25, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetRouge, 10)
  
  TextGadget2.i = TextGadget(#PB_Any, 170, 60, 150, 15, "Vert: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetVert, 170, 75, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetVert, 10)
  
  TextGadget3.i = TextGadget(#PB_Any, 170, 110, 150, 15, "Bleu: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetBleu, 170, 125, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetBleu, 10)
  
  
  
  TextGadget4.i = TextGadget(#PB_Any, 10, 170, 150, 15, "Teinte: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetTeinte, 10, 185, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetTeinte, 10)
  
  TextGadget5.i = TextGadget(#PB_Any, 10, 220, 150, 15, "Saturation: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetSaturation, 10, 235, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetSaturation, 10)
  
  TextGadget6.i = TextGadget(#PB_Any, 10, 270, 150, 15, "Luminosité: 0", #PB_Text_Center)
  TrackBarGadget(#TrackBarGadgetLuminosite, 10, 285, 150, 25, 0, 20, #PB_TrackBar_Ticks)
  SetGadgetState(#TrackBarGadgetLuminosite, 10)
  
  Repeat ; Départ des évènements de boucle.
    
    Event = WaitWindowEvent(1) ; Cette ligne attend pendent (Minuteur) qu'un évènement soit recus par la fenêtre.
    EventWindow = EventWindow(); La fenêtre oû l'évènement c'est produit.
    EventGadget = EventGadget(); Pour savoir sur quel gadget c'est produis l'évènement.
    EventMenu = EventMenu()    ; Pour savoir sur quel menue c'est produis l'évènement.
    EventType = EventType()    ; Le type d'évènement qui c'est produis sur le gadget.
    
    Select Event 
        
      Case #PB_Event_Gadget
        
        Select EventGadget
            
          Case #TrackBarGadgetRouge
            NouvelleImage.i = SetColor(Image.i, ((GetGadgetState(#TrackBarGadgetRouge) / 10) - 1), ((GetGadgetState(#TrackBarGadgetVert) / 10) - 1), ((GetGadgetState(#TrackBarGadgetBleu) / 10) - 1), 
                                       ((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1), ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget1.i, "Rouge: " + StrF((GetGadgetState(#TrackBarGadgetRouge) / 10) - 1, 2))
            
          Case #TrackBarGadgetVert
            NouvelleImage.i = SetColor(Image.i, ((GetGadgetState(#TrackBarGadgetRouge) / 10) - 1), ((GetGadgetState(#TrackBarGadgetVert) / 10) - 1), ((GetGadgetState(#TrackBarGadgetBleu) / 10) - 1), 
                                       ((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1), ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget2.i, "Vert: " + StrF((GetGadgetState(#TrackBarGadgetVert) / 10) - 1, 2))
            
          Case #TrackBarGadgetBleu
            NouvelleImage.i = SetColor(Image.i, ((GetGadgetState(#TrackBarGadgetRouge) / 10) - 1), ((GetGadgetState(#TrackBarGadgetVert) / 10) - 1), ((GetGadgetState(#TrackBarGadgetBleu) / 10) - 1), 
                                       ((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1), ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget3.i, "Bleu: " + StrF((GetGadgetState(#TrackBarGadgetBleu) / 10) - 1, 2))
            
          Case #TrackBarGadgetTeinte
            NouvelleImage.i = SetColor(Image.i, ((GetGadgetState(#TrackBarGadgetRouge) / 10) - 1), ((GetGadgetState(#TrackBarGadgetVert) / 10) - 1), ((GetGadgetState(#TrackBarGadgetBleu) / 10) - 1), 
                                       ((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1), ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget4.i, "Teinte: " + StrF((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1, 2))
            
          Case #TrackBarGadgetSaturation
            NouvelleImage.i = SetColor(Image.i, ((GetGadgetState(#TrackBarGadgetRouge) / 10) - 1), ((GetGadgetState(#TrackBarGadgetVert) / 10) - 1), ((GetGadgetState(#TrackBarGadgetBleu) / 10) - 1), 
                                       ((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1), ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget5.i, "Saturation: " + StrF((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1, 2))
            
          Case #TrackBarGadgetLuminosite
            NouvelleImage.i = SetColor(Image.i, ((GetGadgetState(#TrackBarGadgetRouge) / 10) - 1), ((GetGadgetState(#TrackBarGadgetVert) / 10) - 1), ((GetGadgetState(#TrackBarGadgetBleu) / 10) - 1), 
                                       ((GetGadgetState(#TrackBarGadgetTeinte) / 10) - 1), ((GetGadgetState(#TrackBarGadgetSaturation) / 10) - 1), ((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1))
            SetGadgetState(#ImageGadget, ImageID(NouvelleImage.i))
            SetGadgetText(TextGadget6.i, "Luminosité: " + StrF((GetGadgetState(#TrackBarGadgetLuminosite) / 10) - 1, 2))
            
        EndSelect
        
      Case #PB_Event_Menu
        
        Select EventMenu
            
          Case 0
            
        EndSelect
        
      Case #PB_Event_CloseWindow  
        
    EndSelect
    
  Until Event = #PB_Event_CloseWindow ; Fin des évènements de boucle.
  
EndIf
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Comment changer la Teinte Globale d'une image...

Message par Ar-S »

Y'a rien qui te choque là ?

Code : Tout sélectionner

          SetCouleur.i = SetRouge(GetCouleur.i, Rouge.f)
          SetCouleur.i = SetVert(SetCouleur.i, Vert.f)
          SetCouleur.i = SetBleu(SetCouleur.i, Bleu.f)
         
          SetCouleur.i = SetTeinte(SetCouleur.i, Teinte.f)
          SetCouleur.i = SetSaturation(SetCouleur.i, Saturation.f)
          SetCouleur.i = SetLuminosite(SetCouleur.i, Luminosite.f)
C'est comme écrire

Code : Tout sélectionner

Truc.s = "chien"
Truc.s = "chat"
Truc.s = "Lapin"
Je te laisse faire un debug Truc.s à la fin...

Enfin je te rappel qu'une image est composée de N pixels.. Chaque Pixels comportent une couleur de composante RGB dans ton cas..
Les proce de LSI modifient les couleurs. Donc
- Tu stockes les couleurs de tes pixels dans un tableau à 2 dimensions ou à une dimensions si tu ne te sens pas (ou une liste..) bref, tu stockes chaque couleur de chaque pixel ou tu veux.
Ensuite, il te suffira d'appliquer une des proce de LSI sur chaque couleur que tu as stockés puis de redessiner l'image. (tu peux le faire en directe sinon).

J'ai vraiment l'impression d'avoir déjà donné 15x cette explication.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Comment changer la Teinte Globale d'une image...

Message par SPH »

Et oui, pas de point() !
Faut tout mettre dans un tableau :idea:

Et rien ne vaux ses propres routines pour bien maitriser... 8)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre