1

我想知道是否可以在我的 GUI 中发送图像但将路径保存为我的数据库中的事实。而不是调用它使用 resource(logo,image,image('logo.jpg')).Is it posible to call a variable inside ('logo.jpg')that will change based on the fact that is called?。

4

1 回答 1

1

我能给你的更好的提示是学习使用 XPCE 实时文档。从 swipl-win 打开菜单

\ Help \ XPCE (GUI) manual...

从那里(标题为 的小窗口XPCE Manual)打开菜单\ File \ Demo Programs 并从建议的列表中单击Image viewer。单击按钮[ Source ],在文件底部有您要查找的代码示例。

一点 DRY 就可以把它变成一个可重复使用的组件。例如:

/*  File:    pce_image_view.pl
    Author:  Carlo,,,
    Created: May 19 2019
    Purpose: answer https://stackoverflow.com/q/56201622/874024
*/

:- module(pce_image_view, [pce_image_view/1]).
:- use_module(library(pce)).

pce_image_view(Filename) :-
    new(I, image(Filename)),
    !,
    new(B, bitmap(I)),
    new(P, picture),
    send(P, display, B),
    send(P, open).

保存文件,查阅并调用:

?- pce_image_view('/home/carlo/Pictures/prova1.jpg').
true.

抱歉,演示程序 - 它是一个相当完整的本地文件类型浏览器 - 现在似乎无法开箱即用。无论如何,可以应用最近的语言开发提供的一些更高级别的构造来使 API 更舒适。

于 2019-05-19T16:36:50.993 回答