kk_lee69 发表于 2014-6-21 17:20:55

求修改一个图片变更分辨率的UDF加入图片质量控制的语法??

小弟由于使用的是XP的操作系统无奈这个系统对于 网上前辈们的 图片转文件的UDF无法作用,当我 使用 JPG 转 JPG 时 就是会有问题

小弟藉由其他人的程序 写了一段 可以用的UDF 但是这个 UDF 没有办法控制转檔的质量 ,希望高手帮我改一下 让我的 UDF 可以加入质量控制的部分

感谢帮忙

代碼如下:

#include <GDIPlus.au3>

Func _JPGChangeSize($sFile, $sFile_new, $new_W, $new_H)
        $hWnd = _WinAPI_GetDesktopWindow()
        $hDC = _WinAPI_GetDC($hWnd)
        $hBMP = _WinAPI_CreateCompatibleBitmap($hDC, $new_W, $new_H)
        _WinAPI_ReleaseDC($hWnd, $hDC)
        _GDIPlus_Startup()
        $hOut = _GDIPlus_BitmapCreateFromHBITMAP($hBMP)
        $hIn = _GDIPlus_ImageLoadFromFile($sFile)
        $hGraphic = _GDIPlus_ImageGetGraphicsContext($hOut)
        _GDIPlus_GraphicsDrawImageRect($hGraphic, $hIn, 0, 0, $new_W, $new_H)
        $CLSID = _GDIPlus_EncodersGetCLSID("JPG")
        _GDIPlus_ImageSaveToFileEx($hOut, $sFile_new, $CLSID)
        _GDIPlus_ImageDispose($hOut)
        _GDIPlus_ImageDispose($hIn)
        _GDIPlus_GraphicsDispose($hGraphic)
        _WinAPI_DeleteObject($hBMP)
        _GDIPlus_Shutdown()

EndFunc   ;==>
页: [1]
查看完整版本: 求修改一个图片变更分辨率的UDF加入图片质量控制的语法??