递归火山软件开发平台

标题: GDIPlus调用dll问题 [打印本页]

作者: ysjadnt    时间: 2022-10-24 12:20
标题: GDIPlus调用dll问题
我想获取图片的信息(宽度、高度、分辨率等),调用的是GDI的dll(官方的cximage库不支持CMYK的图片)
调用GDI的dll时不知道哪里出问题,大家帮我看下是什么问题。

(, 下载次数: 47)

(, 下载次数: 48)

(, 下载次数: 51)

(, 下载次数: 45)

(, 下载次数: 44)

(, 下载次数: 41)

第一个参数为 整数 传址
第二个参数为 结构类

执行时直接退出(被调试程序已经退出,退出码为0xC0000005.)



作者: ysjadnt    时间: 2022-10-24 14:47
谁来帮我解答一下,谢谢
作者: hcwanz    时间: 2022-10-24 15:27
本帖最后由 hcwanz 于 2022-10-24 15:28 编辑

(, 下载次数: 38)
试试这样写,火山的结构类不能直接和c的结构类交互,火山结构类里的"S"成员才是用来交互的c结构类


作者: ysjadnt    时间: 2022-10-24 16:45
hcwanz 发表于 2022-10-24 15:27
试试这样写,火山的结构类不能直接和c的结构类交互,火山结构类里的"S"成员才是用来交互的c结构类

...

不会嵌入代码  应该怎么写?
能不能麻烦帮我写一下
作者: hcwanz    时间: 2022-10-24 16:48
ysjadnt 发表于 2022-10-24 16:45
不会嵌入代码  应该怎么写?
能不能麻烦帮我写一下

就把图里的参数类型填上去就行
作者: hcwanz    时间: 2022-10-24 16:49
本帖最后由 hcwanz 于 2022-10-24 17:27 编辑
ysjadnt 发表于 2022-10-24 16:45
不会嵌入代码  应该怎么写?
能不能麻烦帮我写一下

而且有人封装过gdi了
http://bbs.voldp.com/forum.php?m ... 41&highlight=gdi%2B
你要不下下来看一下
作者: 创世魂    时间: 2022-10-24 17:19
论坛有开源的gdi库。可以看看有没有你要的功能
作者: ysjadnt    时间: 2022-10-24 19:09
hcwanz 发表于 2022-10-24 16:48
就把图里的参数类型填上去就行

不用嵌入可以了  谢谢你哈   但遇到了新问题  小数传址 使用 取变量地址 好像不行
作者: ysjadnt    时间: 2022-10-24 19:10
创世魂 发表于 2022-10-24 17:19
论坛有开源的gdi库。可以看看有没有你要的功能

谢谢   主要自己也学习学习  
已经试出来了  把结构类的返回参考去掉就可以了
但遇到了新问题  小数传址 使用 取变量地址 好像不行
作者: hcwanz    时间: 2022-10-24 19:16
ysjadnt 发表于 2022-10-24 19:10
谢谢   主要自己也学习学习  
已经试出来了  把结构类的返回参考去掉就可以了
但遇到了新问题  小数传址  ...

可能是类型不对?火山只有双精度小数(double),c可能需要单精度的(float)
作者: ysjadnt    时间: 2022-10-24 19:25
hcwanz 发表于 2022-10-24 19:16
可能是类型不对?火山只有双精度小数(double),c可能需要单精度的(float)

可能是吧  我试着把小数改为整数   不会返回0了  但返回的是10位的数字  不知道是什么,可以肯定的不是真实的结果
作者: ysjadnt    时间: 2022-10-24 19:25
hcwanz 发表于 2022-10-24 19:16
可能是类型不对?火山只有双精度小数(double),c可能需要单精度的(float)

有没有什么办法?
作者: hcwanz    时间: 2022-10-24 19:27
ysjadnt 发表于 2022-10-24 19:25
有没有什么办法?

@ float c变量=(float)@<火山变量>;




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4