找回密码
 加入
搜索
查看: 986|回复: 2

[网络通信] 请教GDIPLUS处理完图片无法释放的问题!(已解决)

[复制链接]
发表于 2021-10-9 17:36:46 | 显示全部楼层 |阅读模式
本帖最后由 sunsunshine2009 于 2021-10-10 11:08 编辑

       hotkeyset("{F2}","CutJpg")
        while 1
              sleep(100)
        wend
func cutjpg()
        ;        图片裁剪白边
        ;        图片裁剪白边
       $ImagePath="C:\aaa.jpg"
        _GDIPlus_Startup()
        $hBitmap = _GDIPlus_BitmapCreateFromFile($ImagetPath) ;从文件建立位图
        $iX = _GDIPlus_ImageGetWidth($hBitmap)
        $iY = _GDIPlus_ImageGetHeight($hBitmap)
        $hBitmap = _GDIPlus_BitmapCloneArea($hBitmap, 2 * 38, 0 * 38, 15.6 * 38, $iy)
        $sCutFileName = StringReplace($ImagetPath, ".jpg", "副本.jpg")
        _GDIPlus_ImageSaveToFile($hBitmap, $sCutFileName)
        _GDIPlus_ImageDispose($hBitmap)
        _WinAPI_DeleteObject($hBitmap)
        _GDIPlus_Shutdown()
        MsgBox(0,"","截图处理完毕!")

        filedelete($ImagePath)
endfunc
想在处理完图片之后删除,但是不行,显示被占用,上面代码明明已经释放了,不知道为何,请各位大神指点!

发表于 2021-10-9 19:17:33 | 显示全部楼层
$hBitmap = _GDIPlus_BitmapCloneArea($hBitmap, 2 * 38, 0 * 38, 15.6 * 38, $iY)
这样使用同一个变量,只释放了Clone的。应该用新变量。

评分

参与人数 1金钱 +20 收起 理由
sunsunshine2009 + 20 很给力!

查看全部评分

 楼主| 发表于 2021-10-10 00:33:00 | 显示全部楼层
感谢A版的指导,问题解决!此帐结贴!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-8 16:02 , Processed in 0.091201 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表