我正在开发我的应用程序以在netbeans平台java中加载图像并保存dicom图像我想使用Jfilechooser仅加载dicom图像,我开发了应用程序但无法仅加载Dicom图像所以加载dicomimage应该是什么问题,是否有任何插件想念它吗?必须为它上传哪些 jar 文件....?请提前与我分享您的意见。在这里我添加了我在 javaapps 中开发的代码...
package opner;
import com.sun.media.jai.widget.DisplayJAI;
import java.awt.*;
import java.awt.event.*;
import java.util.Properties;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import java.util.Properties;
import java.io.*;
import java.net.*;
import java.awt.BorderLayout;
import java.io.*;
import javax.imageio.*;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import java.util.Iterator;
import javax.imageio.stream.FileImageInputStream;
import javax.imageio.stream.FileImageOutputStream;
import javax.media.jai.*;
import javax.swing.*;
public class Opner
{
public static void main(String args[])
{
RenderedImage image = null;
RenderedOp result = null;
try
{
FileImageInputStream stream = new FileImageInputStream(new File("E:/MAGIX/demo1.dcm"));
Iterator iter =ImageIO.getImageReaders(stream);
ImageReader reader = (ImageReader)iter.next();
reader.setInput(stream);
image = reader.readAsRenderedImage(0,reader.getDefaultReadParam());
double scaleFactor = 0.5;
ParameterBlock params = new ParameterBlock();
params.addSource(image);
params.add(scaleFactor);
//x scale factor
params.add(scaleFactor);
//y scale factor
result = JAI.create("SubsampleAverage", params);
Iterator writerIter =ImageIO.getImageWritersByFormatName("dcm");
ImageWriter writer = (ImageWriter)writerIter.next();
FileImageOutputStream os = new FileImageOutputStream(new File("E:/MAGIX/demo1.dcm"));
writer.setOutput(os);
writer.write(result);
}
catch(IOException e)
{
e.printStackTrace();
}
DisplayJAI d = new DisplayJAI();
d.set(result);
JScrollPane jsp = new JScrollPane();
jsp.setViewportView(d);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new BorderLayout());
f.add(jsp, BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}