Как просматривать изображения в графическом интерфейсе без статического пути - PullRequest
1 голос
/ 18 мая 2019

Мне было интересно, можно ли отправить изображение в моем графическом интерфейсе, но сохранить путь как факт в моей базе данных. Вместо того, чтобы называть это с помощью resource(logo,image,image('logo.jpg')). Можно ли вызвать внутри ('logo.jpg') переменную, которая будет меняться в зависимости от того, что вызывается?.

1 Ответ

1 голос
/ 19 мая 2019

Лучший совет, который я могу вам дать, это научиться использовать живую документацию XPCE.Из swipl-win откройте меню

\ Help \ XPCE (GUI) manual...

Оттуда (небольшое окно с названием XPCE Manual) откройте меню \ File \ Demo Programs и из предложенного списка нажмите Image viewer.Нажмите кнопку [ Source ], и внизу файла приведен пример кода, который вы ищете.

Немного СУХОГО может превратить его в повторно используемый компонент.Например:

/*  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.

Извините, демо-программа - это довольно полный браузер с локальным типом файлов - кажется, сейчас не работает-of коробки.В любом случае, для более удобного API можно применить некоторые конструкции более высокого уровня, появившиеся в результате недавней языковой разработки.

...