![]() |
#2
sostemp2022-09-06 16:55
希望你能用得上
?保存剪贴板里的图片("c:\test.bmp") FUNCTION 保存剪贴板里的图片 LPARAMETERS szOutputFile **************************************** * szOutputFile:输入文件名,全路径 **************************************** #DEFINE CF_BITMAP 2 DECLARE LONG IsClipboardFormatAvailable IN User32 LONG DECLARE LONG OpenClipboard IN User32 LONG DECLARE LONG CloseClipboard IN User32 DECLARE LONG GetClipboardData IN User32 LONG DECLARE LONG GdiplusStartup IN gdiplus LONG@, STRING@, LONG DECLARE LONG GdiplusShutdown IN gdiplus LONG DECLARE LONG GdipCreateBitmapFromHBITMAP IN gdiplus LONG, LONG, LONG@ DECLARE LONG GdipDisposeImage IN gdiplus LONG DECLARE LONG GdipSaveImageToFile IN gdiplus LONG, STRING@, STRING@, LONG IF IsClipboardFormatAvailable(CF_BITMAP) == 0 MESSAGEBOX('剪贴板里没有图片',0+64,'系统提示') RETURN .F. ENDIF IF OpenClipboard(0) == 0 RETURN .F. ENDIF LOCAL dhClipBmp dhClipBmp = GetClipboardData(CF_BITMAP) IF dhClipBmp == 0 CloseClipboard() MESSAGEBOX('剪贴板里没有图片',0+64,'系统提示') RETURN .F. ENDIF LOCAL stGSI, lpGDI, jpgGUID, dhBitmap stGSI = 0h01000000000000000000000000000000 lpGDI = 0 GdiplusStartup(@lpGDI, @stGSI, 0) jpgGUID = 0h01F47C55041AD3119A730000F81EF32E dhBitmap = 0 GdipCreateBitmapFromHBITMAP(dhClipBmp, 2, @dhBitmap) GdipSaveImageToFile(dhBitmap, STRCONV(szOutputFile + 0h00, 5), @jpgGUID, 0) GdipDisposeImage(dhBitmap) GdiplusShutdown(lpGDI) CloseClipboard() RETURN .T. |
先在CAD画图软件中用QQ或微信对零件图的一部分手动截图后(不是截取指定坐标区域或全屏),然后切换到VFP程序界面通过按一个“生成截图按钮”用VFP命令把暂存在剪切板中的截图保存到一个JPG格式的图像文件中,比如C:\AAA.JPG
请问如何实现? 谢谢。