>PROCEDURE ResizeImage >LPARAMETERS cSourceImage,cOutputImage, nW, nH > >#DEFINE GDIPLUS_PIXELFORMAT_32bppPARGB 0x000E200B > >LOCAL oImage, oGraphics, oBitmap, nW, nH >oImage = NEWOBJECT('gpImage','_gdiplus.vcx') >oImage.CreateFromFile( cSourceImage ) >oBitmap = NEWOBJECT('gpBitmap', '_gdiplus.vcx') >oGraphics = NEWOBJECT('gpGraphics', '_gdiplus.vcx') >oBitmap.Create( nW, nH, GDIPLUS_PIXELFORMAT_32bppPARGB) >oGraphics.CreateFromImage(oBitmap) >oGraphics.DrawImageScaled( oImage, 0, 0, nW, nH) >oBitmap.SaveToFile( cOutputImage, 'image/png') >>
=ResizeImage("test.jpg","new.jpg",96,96) PROCEDURE ResizeImage LPARAMETERS cSourceImage,cOutputImage,nThumbWidth,nThumbHeight #DEFINE GDIPLUS_PIXELFORMAT_32bppPARGB 0x000E200B LOCAL oImage,oGraphics,oBitmap,nThumbWidth,nThumbHeight,nImgWidth,; nImgHeight,nDestX,nDestY,nDestW,nDestH,m.nFact,nResizHeight,nSpace,nResizWidth m.oImage = NEWOBJECT('gpImage','_gdiplus.vcx') m.oImage.CreateFromFile(cSourceImage) m.oBitmap = NEWOBJECT('gpBitmap','_gdiplus.vcx') m.oGraphics = NEWOBJECT('gpGraphics','_gdiplus.vcx') m.oBitmap.Create(nThumbWidth,nThumbHeight,GDIPLUS_PIXELFORMAT_32bppPARGB) m.oGraphics.CreateFromImage(oBitmap) m.nImgWidth=m.oImage.ImageWidth m.nImgHeight=m.oImage.ImageHeight DO case CASE m.nImgWidth > m.nImgHeight m.nFact=(m.nImgWidth-m.nThumbWidth)/m.nImgWidth m.nResizHeight=m.nImgHeight-(m.nImgHeight*m.nFact) m.nSpace=(nThumbHeight-m.nResizHeight)/2 m.nDestX=0 m.nDestY=m.nSpace m.nDestW=m.nThumbWidth m.nDestH=m.nResizHeight CASE m.nImgWidth < m.nImgHeight m.nFact=(m.nImgHeight-m.nThumbHeight)/m.nImgHeight m.nResizWidth=m.nImgWidth-(m.nImgWidth*m.nFact) m.nSpace=(nThumbWidth-m.nResizWidth)/2 m.nDestX=m.nSpace m.nDestY=0 m.nDestW=m.nResizWidth m.nDestH=m.nThumbHeight CASE m.nImgWidth = m.nImgHeight m.nDestX=0 m.nDestY=0 m.nDestW=m.nThumbWidth m.nDestH=m.nThumbHeight ENDCASE m.oGraphics.DrawImageScaled(m.oImage, m.nDestX, m.nDestY, m.nDestW, m.nDestH) m.oBitmap.SaveToFile(m.cOutputImage,"image/jpeg","quality=90") ENDPROCA last question : Do you know how to have a white background (sides) for jpg thumbnails ?