QB64 无法加载图像,说“非法函数调用”
Posted
技术标签:
【中文标题】QB64 无法加载图像,说“非法函数调用”【英文标题】:QB64 unable to load image, saying "illegal function call" 【发布时间】:2019-04-15 19:09:26 【问题描述】:我试图为我的游戏标题而不是 ASCII 加载图像,但是当我尝试加载图像时,它说 _PUTIMAGE, i&. 0
是一个非法的函数调用。
_PUTIMAGE,i&
是否不适用于某些文件类型?
我已经尝试了内置帮助建议我加载图像的所有方法,但它们都不起作用。
menu:
CLS
PRINT
i& = _LOADIMAGE("FOrest.jpg")
_PUTIMAGE, i&
PRINT ""
PRINT "What Will Your Heros Name be?:";
Name$ = Ask$(5, 1, CSRLIN, POS(0), 11, 0)
CLS
check_1% = 0 'placeholder for debugingg
COLOR 15, 0
PRINT Name$ + "How Old will Your Hero be?: ";: age% = VAL(Ask$(3, 0, CSRLIN, POS(0), 15, 0))
'INPUT "", age%
我想加载这张图片
【问题讨论】:
【参考方案1】:sourceHandle&和destHandle&不能相同,否则会出现Illegal Function Call错误
尝试指定一个明确的目标句柄。你想要屏幕所以选择 0。
方法一
i& = _LOADIMAGE("forest.jpg")
_PUTIMAGE , i&, 0
方法二
i& = _LOADIMAGE("forest.jpg")
_SOURCE i&
_DEST 0
_PUTIMAGE
最好验证加载图像是否成功。检查i&
是否小于-1。
您是否至少为您的 .jpg 图片设置了图形屏幕?
SCREEN 13
i& = _LOADIMAGE("forest.jpg")
_PUTIMAGE , i&, 0
【讨论】:
@Sep_Ronland 我还没有验证它的加载,但我会这样做并回复,谢谢你的帮助,我会看看这是否对我有用 如何检查i&
是否为-1?
如果无法加载图像,则返回 -1 作为无效句柄。有效的 LONG 句柄返回值小于 -1。
检查i&
是否为-1 因某种原因不起作用说illegal function call
【参考方案2】:
您是处于 SCREEN 0 还是图形模式?
【讨论】:
我正在使用SCREEN 12
【参考方案3】:
在做
SCREEN _NEWIMAGE(640, 480, 32)
i = _LOADIMAGE("FOrest.jpg.png") 'this filename was the only one that worked
_PUTIMAGE (0, 0), i
工作,但我不能做我在图像加载时的其他输入。 这是在内置帮助中,但以前没有用。所以这很奇怪,我猜它什么时候可以工作
【讨论】:
因为它不在screen 12
中了【参考方案4】:
检查图片是否加载正确:
SCREEN _NEWIMAGE(640, 480, 32)
CLS , _RGB(0, 255, 0)
i& = _LOADIMAGE("FOREST.JPG")
IF i& = -1 THEN PRINT "invalid image": END
_PUTIMAGE (0, 0), i&, 0
END
【讨论】:
以上是关于QB64 无法加载图像,说“非法函数调用”的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 BitmapFactory.decodeFile 加载 JPEG 图像。返回空