【问题标题】:QB64 unable to load image, saying "illegal function call"QB64 无法加载图像,说“非法函数调用”
【发布时间】: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%

我想加载这张图片

【问题讨论】:

    标签: image qb64


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 2013-05-12
      • 2018-02-01
      • 2013-06-09
      相关资源
      最近更新 更多