added resolution option
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>BelegScanner</groupId>
|
||||
<artifactId>BelegScanner</artifactId>
|
||||
<version>0.0.12</version>
|
||||
<version>0.0.13</version>
|
||||
|
||||
<name>BelegScanner</name>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
|
||||
<logger name="de.srsoftware.belegscanner.gui.Toolbar" level="debug" additivity="false">
|
||||
<logger name="de.srsoftware.belegscanner.gui.MainFrame" level="debug" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
|
||||
|
||||
@@ -64,7 +64,6 @@ public class MainFrame extends JFrame {
|
||||
|
||||
private Configuration config;
|
||||
|
||||
private int resoultion = 150;
|
||||
private String mode = "Color";
|
||||
|
||||
private DocTable docTable;
|
||||
@@ -139,6 +138,7 @@ public class MainFrame extends JFrame {
|
||||
|
||||
docTable.add(path);
|
||||
|
||||
int resolution = toolbar.getResolution();
|
||||
long timestamp = new Date().getTime();
|
||||
String raw = timestamp+".jpg";
|
||||
|
||||
@@ -151,7 +151,7 @@ public class MainFrame extends JFrame {
|
||||
cmd.add("--mode");
|
||||
cmd.add(mode);
|
||||
cmd.add("--resolution");
|
||||
cmd.add(resoultion+"");
|
||||
cmd.add(resolution+"");
|
||||
cmd.add("-o");
|
||||
cmd.add(raw);
|
||||
LOG.debug("executing {}",cmd);
|
||||
@@ -204,10 +204,14 @@ public class MainFrame extends JFrame {
|
||||
cmd.add("-lang");
|
||||
cmd.add("deu");
|
||||
cmd.add("-rgb");
|
||||
cmd.add("-o");
|
||||
|
||||
if (resolution>300) {
|
||||
cmd.add("-resolution");
|
||||
cmd.add(""+resolution);
|
||||
}
|
||||
cmd.add("-o");
|
||||
cmd.add(ocr);
|
||||
cmd.add(pdf);
|
||||
LOG.debug("executing {}",cmd);
|
||||
builder = new ProcessBuilder(cmd);
|
||||
builder.directory(folder);
|
||||
try {
|
||||
|
||||
@@ -17,10 +17,12 @@ import java.util.stream.Collectors;
|
||||
|
||||
import javax.swing.Box;
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.ButtonGroup;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
@@ -85,6 +87,7 @@ public class Toolbar extends JPanel {
|
||||
private JTextField width;
|
||||
private JTextField height;
|
||||
private SelectComboBox catPicker;
|
||||
private int resolution = 150;
|
||||
|
||||
public Toolbar(Configuration config) {
|
||||
this.config = config;
|
||||
@@ -93,12 +96,38 @@ public class Toolbar extends JPanel {
|
||||
add(input("Kategorie",catPicker = categoryPicker(config)));
|
||||
add(input("Pfad",pathPicker = pathPicker()));
|
||||
addFormatSelector();
|
||||
add(resolutionSelector());
|
||||
add(scanButton());
|
||||
add(Box.createGlue());
|
||||
Arrays.stream(getComponents()).filter(c -> c instanceof JPanel).map(JPanel.class::cast).forEach(p -> p.setBorder(BORDER));
|
||||
}
|
||||
|
||||
|
||||
private JPanel resolutionSelector() {
|
||||
ButtonGroup group = new ButtonGroup();
|
||||
JPanel resolutionSelector = new JPanel(new BorderLayout());
|
||||
JLabel label = new JLabel("aktuelle Auflösung: "+resolution+"px");
|
||||
resolutionSelector.add(label, BorderLayout.NORTH);
|
||||
resolutionSelector.add(resolutionButton(group,label,150),BorderLayout.WEST);
|
||||
resolutionSelector.add(resolutionButton(group,label,300),BorderLayout.CENTER);
|
||||
resolutionSelector.add(resolutionButton(group,label,600),BorderLayout.EAST);
|
||||
resolutionSelector.setMaximumSize(new Dimension(600,200));
|
||||
return resolutionSelector;
|
||||
}
|
||||
|
||||
|
||||
private JRadioButton resolutionButton(ButtonGroup group, JLabel label, int i) {
|
||||
JRadioButton btn = new JRadioButton(i+" px");
|
||||
btn.addActionListener(ev -> {
|
||||
resolution = i;
|
||||
label.setText("aktuelle Auflösung: "+resolution+"px");
|
||||
});
|
||||
group.add(btn);
|
||||
if (i==150) btn.setSelected(true);
|
||||
return btn;
|
||||
}
|
||||
|
||||
|
||||
private void addFormatSelector() {
|
||||
JPanel dummy = new JPanel();
|
||||
dummy.setLayout(new BorderLayout());
|
||||
@@ -317,4 +346,9 @@ public class Toolbar extends JPanel {
|
||||
LOG.debug("updatePath({})",newPath);
|
||||
pathListeners.forEach(l -> l.setPath(newPath));
|
||||
}
|
||||
|
||||
|
||||
public int getResolution() {
|
||||
return resolution;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user