我想在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(),并能够点击图像的区域并查看文档。
答案 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);