2015-04-25 103 views
1

我想添加一個比例尺到ImagePlus,但我不能。當我使用Windows我用下面的命令:ImageJ,添加一個比例尺到ImagePlus

IJ.selectWindow("window_name"); 
IJ.run("Set Scale...", "distance=1 known="+pixelSize+" pixel=1 unit=um"); 
IJ.run("Scale Bar...", "width="+barSize+" height=3 font=12 color=Black location=[Upper Right]"); 

我希望有人能幫助我,我讓待觀察代碼:

String name = "example.jpg"; 
ImagePlus cRoiDuplicated = this.cROI.duplicate(); 
cRoiDuplicated.setTitle(name); 

if (barSize != -1){ 
    [Code] 
    /*IJ.run("Set Scale...", "distance=1 known="+pixelSize+" pixel=1 unit=um"); 
    IJ.run("Scale Bar...", "width="+barSize+" height=3 font=12 color=Black location=[Upper Right]");*/ 
} 

FileSaver fs = new FileSaver(cRoiDuplicated); 
fs.saveAsJpeg(this.directory + name); 
cRoiDuplicated.close(); 

回答

0

在Java插件,你應該使用IJ.run(ImagePlus imp, String command, String options)方法將ImagePlus作爲第一個輸入參數。

使用Macro recorder in Java模式獲取所需的命令。以下插件通過

  • 打開記錄器窗口中創建(插件>宏>記錄...),
  • 打開 '斑點' 樣本圖像(文件>打開樣品>斑點( 25K)
  • 設置規模(分析>設定的比例...
  • 將比例尺(分析>工具>比例尺...),然後
  • 單擊「記錄器」窗口中的'創建'按鈕。

這是生成的代碼:

import ij.*; 
import ij.process.*; 
import ij.gui.*; 
import java.awt.*; 
import ij.plugin.*; 
import ij.plugin.frame.*; 

public class My_Plugin implements PlugIn { 

    public void run(String arg) { 
     ImagePlus imp = IJ.openImage("http://imagej.nih.gov/ij/images/blobs.gif"); 
     IJ.run(imp, "Set Scale...", "distance=1 known=2 pixel=1 unit=um"); 
     IJ.run(imp, "Scale Bar...", "width=50 height=3 font=12 color=Black background=None location=[Upper right]"); 
     imp.show(); 
    } 

} 
+0

謝謝,你幫了大忙。我剛剛測試過,它的工作原理。 – SolidusAbi