Java 在netbeans中运行时裁剪映像
如何允许我的web用户裁剪图像,然后将其上载到数据库中(在netbeans运行时也是如此?要裁剪图像,请尝试以下操作:Java 在netbeans中运行时裁剪映像,java,image,swing,crop,Java,Image,Swing,Crop,如何允许我的web用户裁剪图像,然后将其上载到数据库中(在netbeans运行时也是如此?要裁剪图像,请尝试以下操作: ImageIcon icon = new ImageIcon("java.PNG"); Image image = icon.getImage(); image = createImage(new FilteredImageSource(image.getSource(), new CropImageFilter(73, 63, 141, 131)));
ImageIcon icon = new ImageIcon("java.PNG");
Image image = icon.getImage();
image = createImage(new FilteredImageSource(image.getSource(),
new CropImageFilter(73, 63, 141, 131)));
要存储在数据库中,请先将该图像另存为文件,然后获取类型为=BLOB[可能在不同的数据库中延迟]的列,并将该图像保存在该列中
我已尝试过此代码,其工作正常:-
Image image;
Insets insets;
JLabel label = new JLabel("asd");
public TestCls() {
super();
setLayout(new FlowLayout());
ImageIcon icon = new ImageIcon(TestCls.class.getClassLoader().getResource("user_images/smile/smile.png"));
image = icon.getImage();
image = createImage(new FilteredImageSource(image.getSource(),
new CropImageFilter(1, 1, 15, 15)));
label.setIcon(new ImageIcon(image));
add(label);
}
public static void main(String args[]) {
JFrame f = new TestCls();
f.setSize(200, 200);
f.show();
}
最好将图像本身保存在数据库中(因为它会占用大量内存),还是只保存数据库中的图像路径??我将图像保存在文件系统中,并保存在数据库中,只保存其路径。我创建了一个标签,它将显示一个文件选择器,其中单击d.BufferedImage image=null;JFileChooser chooser=新的JFileChooser();选择器.setAcceptableFileFilterUsed(false);int retVal=chooser.showOpenDialog(此);如果(retVal==JFileChooser.APPROVE_选项){File myFile=chooser.getSelectedFile();尝试{image=ImageIO.read(myFile);尝试{jLabel29.setIcon(new ImageIcon(image));jLabel30.setVisible(false);@Sia:它不起作用,因为您的裁剪范围可能超出图像的范围。请尝试在
新CropImageFilter(73、63、141、131)中给出较小的值。
AffineTransformOp
,已讨论过,是另一种选择。