INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Graphics

Screen Capture/JPG/BMP/Wallpaper by baltman
Posted: 8 Feb 04 (Edited 9 Feb 04)

I've recieved permission from James Khan to post this information and redistribute his dll. The major features, described in more detail below, are:

Capture window or screen image into a bitmap file

Capture window or screen image into a bitmap file and specify an area of screen/window to save

Convert a bmp file to a jpg file

Convert a jpg file to a bmp file

Get a dimensions of a bitmap

Get a dimensions of a jpeg file

For additional sample code, please refer to Thread184-769626.

Thanks to TeknoSDS, you can currently download from:
ftp://tek-tips:tek-tips@69.14.191.20/tek-tips/pct_dll/p...

or

http://www.vfug.org/files/pct_dll.zip

My addition is code that works with James' dll to set the Windows Desktop Wallpaper using JPGs converted to BMPs on the fly:

lcWallpaper="C:\Documents and Settings\brian\My Documents\My Pictures\Img_0011.jpg"

Declare Integer tobmp IN "PCT_DLL.dll" ;
String jpgfilename, String bmpfilename

retval = tobmp(lcWallpaper,JUSTPATH(lcWallpaper)+"\"+JUSTSTEM(lcWallpaper)+".bmp")

lcWallpaper=JUSTPATH(lcWallpaper)+"\"+JUSTSTEM(lcWallpaper)+".bmp"

DO JpgWallPaper WITH lcWallpaper

PROCEDURE  JpgWallPaper
PARAMETERS lcWallpaper
    DECLARE INTEGER SystemParametersInfo IN WIN32API ;
        INTEGER uiAction, INTEGER uiParam,;
        STRING @pvParam, INTEGER fWinIni

     SystemParametersInfo (20 , 0, @lcWallpaper, 3)

Brian

====================================================================================================
From James Khan:

Last year, I've spend a lot of time to develop a picture treatment dll, there are 6 functions in this dll,
they are:

1 formtobmp
2 formtobmpA
3 tojpeg
4 tobmp
5 getbmpdimension
6 getjpgdimension

Anybody who needs the (C++) source code of this dll, please email to njjane@21cn.com

        James Khan
        njjane@21cn.com
        http://www.myf1.net/foxcryptor/
====================================================================================================

Important : To use PCT_DLL.dll, you must put it to your system directory or current directory!!!

--------------------------------------------------------------------------------
1 formtobmp
--------------------------------------------------------------------------------
Description:
 Capture window or screen image into a bitmap file

Declaration:
  Declare Integer formtobmp IN "PCT_DLL.dll" ;
  integer hwnd,String bmpFileName

Parameters:
 hwnd
  Handle to the window to be saves to a bitmap file. If this parameter is zero, then saves desktop to a bitmap file.

 bmpFileName
  The bitmap filename to be save. Must include full path name.

Note:
   The function returns a zero result on success,else 1 is returned.

Example in Visual FoxPro:

retVal = formtobmp(0,"c:\screen.bmp")  && Save screen to file c:\screen.bmp
if retval = 0                          && if success
   messagebox("Capture screen ok! bmp file has been saved to file c:\screen.bmp")
endif

--------------------------------------------------------------------------------
2 formtobmpA
--------------------------------------------------------------------------------
Description:
 Capture window or screen image into a bitmap file and specify an area of screen/window to save.

Declareation:
  Declare Integer formtobmpA IN "PCT_DLL.dll" ;
  string bmpfilename,integer nX,integer nY,integer nX2,integer nY2

Parameters:
 bmpFileName
  The bitmap filename to be save. must include full path name.
   nX
    x-coord of upper-left corner of bitmap file
   nX2
    x-coord of lower-right corner of bitmap file
   nY
    y-coord of upper-left corner of bitmap file
   nY2
    y-coord of lower-right corner of bitmap file

Note:
   The function returns a zero result on success,else 1 is returned.

Example in Visual FoxPro:

retVal = formtobmpA("c:\screen0.bmp",20,20,400,400)  && Save screen to file c:\screen.bmp
if retval = 0
   messagebox("Capture screen ok!")
else
   messagebox("Failure!")
endif

--------------------------------------------------------------------------------
3 tojpeg
--------------------------------------------------------------------------------
Description:
 Convert a bmp file to a jpg file

Declaration:
  Declare Integer tojpeg IN "PCT_DLL.dll" ;
  String bmpfilename, String jpgfilename

Parameters:
 bmpfilename
  BMP filename to be convert.
 jpgfilename
  JPEG filename

Note:
   The function returns a zero result on success, else 1 is returned.

Example in Visual FoxPro:

retval = tojpeg("c:\screen.bmp","c:\screen.jpg") && Convert c:\screen.bmp to c:\screen.jpg

if retval = 0
   messagebox("Convert bitmap to jpeg ok!")
else
   messagebox("Failure!")
endif

--------------------------------------------------------------------------------
4 tobmp
--------------------------------------------------------------------------------
Description:
    Convert a jpg file to a bmp file

Declaration:
  Declare Integer tobmp IN "PCT_DLL.dll" ;
  String jpgfilename, String bmpfilename

Parameters:
 jpgfilename
  JPEG filename to be convert.
 bmpfilename
  BMP filename

Note:
   The function returns a zero result on success, else 1 is returned.

Example in Visual FoxPro:

retval = tobmp("c:\screen.jpg","c:\screen2.bmp") && Convert c:\screen.jpg to c:\screen2.bmp
if retval = 0
   messagebox("Convert jpeg to bitmap success!")
else
   messagebox("Failure!")
endif

--------------------------------------------------------------------------------
5 getbmpdimension
--------------------------------------------------------------------------------
Description:
 Get a dimensions of a bitmap

Declaration:
  Declare Integer getbmpdimension IN "PCT_DLL.dll" ;
  string bmpfilename, integer @ nwidth,integer @ nheight

Parameters:
 bmpfilename
  origin bitmap filename.

 nwidth
  bitmap's width measured in pixels.

 nheight
  bitmap's height measured in pixels.

Note:
  if success, return value 0, else return 1.
  if success, variable nwidth hold the bitmap's width ,variable nheight hold the bitmap's height.

Example in Visual FoxPro:

nwidth=0
nheight=0
retval = getbmpdimension("c:\screen.bmp",@ nwidth, @ nheight)
if retval = 0
   messagebox("Width:"+str(nwidth)+chr(13)+"Height:"+str(nheight))
else
   messagebox("Failure!")
endif

--------------------------------------------------------------------------------
6 getjpgdimension
--------------------------------------------------------------------------------
Description:
    Get a dimensions of a jpeg file

Declaration:
  Declare Integer getjpgdimension IN "PCT_DLL.dll" ;
  string jpgfilename, integer @ nwidth,integer @ nheight

Parameters:
   jpgfilename
     origin jpeg filename.

   nwidth
     jpeg's width measured in pixels.

   nheight
     jpeg's height measured in pixels.

Note:
   if success, return value 0, else return 1.
   if success, variable nwidth hold the jpeg's width ,variable nheight hold the jpeg's height.

Example in Visual FoxPro:

nwidth=0
nheight=0
retval = getjpgdimension("c:\screen.jpg",@ nwidth, @ nheight)
if retval = 0
   messagebox("Width:"+str(nwidth)+chr(13)+"Height:"+str(nheight))
endif

clear dlls

Back to Microsoft: Visual FoxPro FAQ Index
Back to Microsoft: Visual FoxPro Forum

My Archive

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close