| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1584 人关注过本帖
标题:怎样将QQ或微信截图暂存在剪切板中的图象保存到一个JPG格式的图像文件 ?
取消只看楼主 加入收藏
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:3 
怎样将QQ或微信截图暂存在剪切板中的图象保存到一个JPG格式的图像文件 ?
    先在CAD画图软件中用QQ或微信对零件图的一部分手动截图后(不是截取指定坐标区域或全屏),然后切换到VFP程序界面通过按一个“生成截图按钮”用VFP命令把暂存在剪切板中的截图保存到一个JPG格式的图像文件中,比如C:\AAA.JPG
   请问如何实现? 谢谢。
搜索更多相关主题的帖子: 图像 QQ 格式 JPG 文件 
2022-09-06 15:39
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
收藏
得分:0 
感谢!在VFP9下确实好用。
但我想在VFP6下运行这些代码时,在这条语句处出错:stGSI = 0h01000000000000000000000000000000
不知道能否改动一下代码,使其可以在VFP6下使用呢?
2022-09-06 18:53
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
收藏
得分:0 
DECLARE INTEGER OpenClipboard               IN User32 INTEGER
DECLARE INTEGER CloseClipboard              IN User32
DECLARE LONG IsClipboardFormatAvailable IN user32 LONG
DECLARE INTEGER EmptyClipboard              IN User32
DECLARE INTEGER SetClipboardData            IN User32 INTEGER,INTEGER
DECLARE INTEGER LoadImage                   IN WIN32API INTEGER,String,INTEGER,INTEGER,INTEGER,INTEGER
DECLARE INTEGER GetClipboardData            IN User32 INTEGER
DECLARE INTEGER GdipCreateBitmapFromHBITMAP IN GdiPlus.dll INTEGER, INTEGER, INTEGER @
DECLARE INTEGER GdipSaveImageToFile         IN GdiPlus.dll INTEGER,String,String @,String @
DECLARE Long    GdipCreateHBITMAPFromBitmap IN GDIPLUS.DLL Long nativeImage, Long @, Long
DECLARE Long    GdipCreateBitmapFromFile    IN GDIPLUS.DLL String FileName, Long @nBitmap
DECLARE Long    CopyImage                   IN WIN32API Long hImage, Long, Long, Long , Long
#Define CF_BITMAP 2
#Define CF_DIB 8
#Define IMAGE_BITMAP 0
#Define LR_LOADFROMFILE 16

IF IsClipboardFormatAvailable(2)=0
    MESSAGEBOX("剪贴板中没有图像",64,"提示")
else
    IF OpenClipboard(0)=0
        MESSAGEBOX("剪贴板打开失败",64,"提示")
    else
OpenClipboard(0)
hBitmap = GetClipboardData(CF_BITMAP)
hDib = GetClipboardData(CF_DIB)
CloseClipboard()
uBitmap=0
GdipCreateBitmapFromHBITMAP(hBitmap,2,@uBitmap)
lcOutputFile=STRCONV('C:\Temp1.jpg'+CHR(0),5)

lqEncoderClsID_JPG=0h01F47C55041AD3119A730000F81EF32E        &&运行时此处提示语法错误!!!  (JPG格式)

GdipSaveImageToFile(uBitmap,lcOutputFile,lqEncoderClsID_JPG,NULL)
ENDIF
ENDIF

版主,你好! 上面这段代码也可以在VFP9下正常把截图生成JPG文件,但在VFP6下运行时在倒数第4行提示语法错误。

根据您上面的提示,我把这条语句由:lqEncoderClsID_JPG=0h01F47C55041AD3119A730000F81EF32E   改为:
lqEncoderClsID_JPG=CHR(0x01)+CHR(0xF4)+CHR(0x7C)+CHR(0x55)+CHR(0x04)+CHR(0x1A)+CHR(0xD3)+CHR(0x11)+CHR(0x9A)+CHR(0x73)+CHR(0x00)+CHR(0x00)+CHR(0xF8)+CHR(0x1E)+CHR(0xF3)+CHR(0x2E)

虽然运行不出现错误提示,但没有生成截图JPG格式的文件,不知道哪个地方不对,请指教,谢谢。
2022-09-07 10:14
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
收藏
得分:0 
经测试,目前以上代码只差以下这一条赋值语句在VFP6下不支持:
lqEncoderClsID_JPG=0h01F47C55041AD3119A730000F81EF32E

其他的语句在VFP6下应该都没问题,不知道如何把以上这条语句变换成VFP6能支持的形式?

2022-09-07 18:15
快速回复:怎样将QQ或微信截图暂存在剪切板中的图象保存到一个JPG格式的图像文件 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038413 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved