Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pToken := Gdip_Startup()
- pBitmap := Gdip_CreateBitmapFromFile("input.png")
- E := Gdip_FilterColor(pBitmap, 0xff00ff00, 0xff0000ff, 100)
- Gdip_SaveBitmapToFile(pBitmap, "output.png")
- Gdip_DisposeImage(pBitmap)
- Gdip_Shutdown(pToken)
- return
- Gdip_FilterColor(pBitmap, Color, ReplaceColor, Variation=0)
- {
- static _FilterColor
- if !_FilterColor
- {
- MCode_FilterColor := "83EC288B44243C8BC8C1E918894C243C8BC8C1E91081E1FF000000894C240C0FB6CC25FF000000894C2410894424148B442440"
- . "8BC8C1E918894C24188BC80FB6D425FF000000C1E910894424248B44243481E1FF00000085C0894C241C895424200F8E020100008B54242C5355568B7"
- . "4245033DB578B7C2440895C241489442418B90100000085FF0F8EC10000008D4A028D040B8BDA2BD983C303895C24508BDA2BD983C301895C24442BD1"
- . "897C24108B5C24448B4C24500FB62C030FB60C018B5C244C0FB63803DE3BCB7F688B5C244C2BDE3BCB7C5E8B4C241C8D1C313BFB7F532BCE3BF97C4D8"
- . "B4C24208D3C313BEF7F422BCE3BE97C3C8B7C24240FB60C028D1C373BCB7F2D2BFE3BCF7C270FB64C24288B7C2450880C070FB64C242C8B7C24448808"
- . "0FB64C2430880C070FB64C2434880C02B90100000083C004294C24100F8569FFFFFF8B7C24408B54243C8B5C2414035C2448294C2418895C24140F852"
- . "1FFFFFF5F5E5D5B33C083C428C3"
- VarSetCapacity(_FilterColor, StrLen(MCode_FilterColor)//2)
- Loop % StrLen(MCode_FilterColor)//2 ;%
- NumPut("0x" SubStr(MCode_FilterColor, (2*A_Index)-1, 2), _FilterColor, A_Index-1, "char")
- }
- Variation := (Variation > 255) ? 255 : (Variation < 0) ? 0 : Variation
- Gdip_GetImageDimensions(pBitmap, w, h)
- E1 := Gdip_LockBits(pBitmap, 0, 0, w, h, Stride1, Scan01, BitmapData1)
- E := DllCall(&_FilterColor, "uint", Scan01, "int", w, "int", h, "int", Stride1, "uint", Color, "uint", ReplaceColor, "int", Variation)
- Gdip_UnlockBits(pBitmap, BitmapData1)
- return (E = "") ? -1 : E
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement