在matlab中将链接插入图像?

时间:2011-08-03 19:27:28

标签: image matlab hyperlink

我想在matlab中的图像中放置一个文档的链接。我有一个特定的区域,我想把链接。例如,我希望在图像中位置x = 40,y = 120与文档的地址相关联。类似于下面的内容,我知道这不是合适的matlab代码。

text(40,120, '<a href="C:\Documents and Settings\Sentinelle\Desktop\LCModel\sl5_knt1\sl5_11-6.pdf"; ">Click here for plot documentation</a>')

这可能吗?我希望能够使用imshow()或imtool(),并能够点击图像的区域并查看文档。

2 个答案:

答案 0 :(得分:3)

您可以使用'ButtonDownFcn'函数设置OPEN文本属性以打开给定文档:

filePath = 'C:\Documents and Settings\Sentinelle\Desktop\LCModel\sl5_knt1\sl5_11-6.pdf';
text(40,120,'Click here for plot documentation',...
     'ButtonDownFcn',['open(''' filePath ''');']);

答案 1 :(得分:3)

根据类似的discussion,您可以创建UICONTROL pushbutton,其优势在于它接受HTML输入字符串。然后使用FINDJOBJ,我们可以伪造可点击超链接的外观:

fName = 'C:\path\to\file.pdf';
str = '<html><a href="">Click here for plot documentation</a></html>';

figure('Resize','off', 'MenuBar','none')
imshow('coins.png')
hButton = uicontrol('Style','pushbutton', 'Position',[320 50 170 20], ...
    'String',str, 'Callback',@(o,e)open(fName));

jButton = findjobj(hButton);
jButton.setCursor( java.awt.Cursor(java.awt.Cursor.HAND_CURSOR) );
jButton.setContentAreaFilled(0); 

screenshot