This script converts image formats using only window's gdiplus.dll,
among bmp, jpg, png, gif, tif. I think Bruce will implement this
feature eventually into PP, then, stil32jp.dll wouldn't be needed
anymore. Until then, may use the script instead. It uses only default
settings for conversions. The usage is:

.ImageConv(sNameFr, sNameTo)

e.g., .ImageConv(?"...\test.jpg",?"...\test.png")

------------------ ImageConv.PowerPro --------------------------------
@Convert
args  sNameFr,sNameTo,xNameFr,xNameTo
local sTypes,nCodecs,nSize,pImage,pToken,si,ci

dll.call("MultiByteToWideChar|ui ui s i s520 i",;;+
0,0,"sNameFr",-1,"xNameFr",260)
dll.call("MultiByteToWideChar|ui ui s i s520 i",;;+
0,0,"sNameTo",-1,"xNameTo",260)

si=dll.create_array(4,"i",1)
dll.call("gdiplus|GdiplusStartup|ui* a* ui",;;+
"pToken",si,0)

dll.call("gdiplus|GdipLoadImageFromFile|s+ ui*",;;+
"xNameFr","pImage")

dll.call("gdiplus|GdipGetImageEncodersSize|ui* ui*",;;+
"nCodecs","nSize")
ci=dll.create_array(nSize/4+1,"i")
dll.call("gdiplus|GdipGetImageEncoders|ui ui a* i",;;+
nCodecs,nSize,ci)

for(local i=0;i<nCodecs;i++)
dll.call("WideCharToMultiByte|ui ui i i s i ui ui",;;+
0,0,ci[19*i+12],-1,"sTypes",272,0,0)
if(index(sTypes,file.type(sNameTo)))
break
endfor

for(local j=4;j;j--)
si[j]=ci[19*i+j]
endfor

dll.call("gdiplus|GdipSaveImageToFile|ui s+ a* ui",;;+
pImage,"xNameTo",si,0)

dll.call("gdiplus|GdipDisposeImage|ui",pImage)
dll.call("gdiplus|GdiplusShutdown|ui",pToken)
quit
----------------------------------------------------------------------

Sean






Attention: PowerPro's Web site has moved: http://www.ppro.org 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/power-pro/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/power-pro/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to