| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1761 人关注过本帖, 1 人收藏
标题:VFP9+WIN10下将剪贴板的图片内容另存为指定.png文件不成功
取消只看楼主 加入收藏
shschy
Rank: 2
等 级:论坛游民
帖 子:67
专家分:10
注 册:2022-3-13
结帖率:38.46%
收藏(1)
已结贴  问题点数:20 回复次数:4 
VFP9+WIN10下将剪贴板的图片内容另存为指定.png文件不成功
各位好!希望VFP9+WIN10下将剪贴板的图片内容另存为指定.png文件,但不成功。
下面是网上找的代码
DECLARE INTEGER GdipSavelmageToFile IN gdiplus.DLL ;
        INTEGER nlmage,;
        STRING wFilename,;
        STRING qEncoder,;
        STring @nEncoderParamsPtr
DECLARE INTEGER CLSIDFromString IN ole32 STRINGIpsz,STRING @pclsid
DECLARE INTEGER GdipLoadlmageFromFile IN gdiplus.DLL;
        STRING wFilename, INTEGER @nlmage
DECLARE INTEGER StrDup IN shlwapi STRING @lpsz
LOCAL nlmage as Integer
pSourceFileNAme='d:\无标题1.png'
pNewFileNAme='d:\无标题2.png'
clnput = PADR(CHR(1),16,CHR(0))
&&GdipLoadlmageFromFile(STRCONV(pSourceFileNAme+CHR(0),5),@nlmage)
GUID_FormatJPG="{557CF401-1A04-11D3-9A73-0000F81EF32E}"
IcEncode=REPLICATE(CHR(0),16)
STRCONV_loc=STRCONV(GUID_FormatJPG+CHR(0),5)
CLSIDFromString(STRCONV_loc,@IcEncode)&&这里定义保存后的图像格式为 JPG
CLSIDFromString(STRCONV_loc)
IcGuid = REPLICATE(CHR(0),16)
GUID_Quality="{1d5be4b5-fa4a-452d-9cdd-5db35105e7eb}"&&对图像质量进行操作
CLSIDFromString(STRCONV(GUID_Quality+CHR(0),5),@IcGuid)
Quality=50&&图像质量值设置
QualityStr=BINTOC(Quality,'4rs')
ValuePtr=StrDup(@QualityStr)&&得到图像质量设置值的内存地址
EncoderParameter=IcGuid+BINTOC(1,'4rs')+BINTOC(4,'4rs')+BINTOC(ValuePtr,'4rs')
EncoderParameters=bintoc(1,'4rs')+EncoderParameter
GdipSavelmageToFile(nlmage,STRCONV(pNewFileNAme+CHR(0),5),IcEncode,@EncoderParameters)
MESSAGEBOX("保存到 d:\无标题2.png")
搜索更多相关主题的帖子: 图像 STRING png VFP9 INTEGER 
2022-03-27 10:36
shschy
Rank: 2
等 级:论坛游民
帖 子:67
专家分:10
注 册:2022-3-13
收藏
得分:0 
谢谢!测试成功!
2022-03-27 11:21
shschy
Rank: 2
等 级:论坛游民
帖 子:67
专家分:10
注 册:2022-3-13
收藏
得分:0 
以下是引用吹水佬在2022-3-27 11:29:40的发言:

0h01F47C55041AD3119A730000F81EF32E 是 BMP
0h06F47C55041AD3119A730000F81EF32E 是 PNG

网上收集的这段代码如何对照理解?
#define CLSID_BMP     "{557CF400-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_JPEG    "{557CF401-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_GIF     "{557CF402-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_TIFF    "{557CF405-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_PNG     "{557CF406-1A04-11D3-9A73-0000F81EF32E}"
2022-03-27 11:34
shschy
Rank: 2
等 级:论坛游民
帖 子:67
专家分:10
注 册:2022-3-13
收藏
得分:0 
以下是引用吹水佬在2022-3-27 11:29:40的发言:

0h01F47C55041AD3119A730000F81EF32E 是 BMP
0h06F47C55041AD3119A730000F81EF32E 是 PNG

求其它几种图片类型
JPG
GIF
TIFF
谢谢
2022-03-27 11:38
shschy
Rank: 2
等 级:论坛游民
帖 子:67
专家分:10
注 册:2022-3-13
收藏
得分:0 
差别好像不仅一个字节,还是没有发现规律,网上也搜集一些信息。
希望能补充完整,谢谢
0
1  BMP
2  GIF
3
4
5  TIFF
6  PNG

有完整介绍链接吗?
  
网上收集的这段代码如何对照理解?
#define CLSID_BMP     "{557CF400-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_JPEG    "{557CF401-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_GIF     "{557CF402-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_TIFF    "{557CF405-1A04-11D3-9A73-0000F81EF32E}"
#define CLSID_PNG     "{557CF406-1A04-11D3-9A73-0000F81EF32E}"

lqEncoderClsID_BMP=0h00F47C55041AD3119A730000F81EF32E &&BMP
lqEncoderClsID_JPG=0h01F47C55041AD3119A730000F81EF32E &&JPG
lqEncoderCLsID_GIF=0h02F47C55041AD3119A730000F81EF32E &&GIF
lqEncoderClsID_TIF=0h05F47C55041AD3119A730000F81EF32E &&TIF
lqEncoderclsID_PNG=0h06F47C55041AD3119A730000F81EF32E &&PNG
                   0h01F47C55041AD3119A730000F81EF32E 是 BMP
0h06F47C55041AD3119A730000F81EF32E 是 PNG
提取比较如下-----
0h01F47C55041AD311-9A73-0000F81EF32E 是 BMP
557CF400-1A04-11D3-9A73-0000F81EF32E
2022-03-27 16:19
快速回复:VFP9+WIN10下将剪贴板的图片内容另存为指定.png文件不成功
数据加载中...
 
   



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

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