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