2011-08-05 17 views
1

この質問は前の質問'here'から作成されています。画像の上に256点を作って、*の位置に基づいて異なるPDF文書につなげたいと思います。私は256の別々のファイルパスでコード化しなければならない。私は以下のいくつかのコードを試してきたが、今まで運がなかった。Matlabの画像に複数のリンクを挿入するには?

のx(i)とのy(i)は整数であり、これは動作するはずと仮定
for i = 1:256 

    text(x(i),y(i),'*', 'ButtonDownFcn',['open(''' file ''');']); 
end 

function [filePath] = file() 
    %h = impoint; 
    %position = getPosition(h); 

    filePath = strcat('C:\Documents and Settings\Sentinelle\Desktop\LCModel\sl5_knt1\sl5_',x(1),'-',y(i),'.pdf'); 
end 

答えて

1

あなたのコードは、いくつかの場所で間違っているように私には思える:

  1. file()機能がxの値を知らないとy
  2. file()関数は、現在の値を使用していませんi
  3. ファイルパスがx(1) idependently i
の値を使用し

あなたはおそらく望みます

for i = 1:256 
    text(x(i), y(i), '*', 'ButtonDownFcn', ['open(''' file(x(i),y(i)) ''');']); 
end 

function [filePath] = file(x, y) 
    filePath = strcat('C:\Documents and Settings\Sentinelle\Desktop\LCModel\sl5_knt1\sl5_',x,'-',y,'.pdf'); 
end 
1

prefix = 'C:\Documents and Settings\Sentinelle\Desktop\LCModel\sl5_knt1\sl5_' 
for i = 1:256 
    filePath = [prefix num2str(x(i)) '-' num2str(y(i)) '.pdf']; 
    text(x(i),y(i),'*', 'ButtonDownFcn',['open(''' filePath ''');']); 
end 

彼らが整数でない場合は、浮動小数点数を変換する方法を指定する必要があります文字列に変換する。 num2strの2番目の引数でこれを行うことができます。詳しくは

help num2str 

と入力してください。

関連する問題