Skip to content

Commit 2e10f95

Browse files
committed
Change image type ARGB to RGB in example, refs #282
1 parent d7ee68c commit 2e10f95

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

webcam-capture-examples/webcam-capture-transformer/src/main/java/com/github/sarxos/webcam/WebcamImageTransformerExample.java

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
package com.github.sarxos.webcam;
22

3+
import java.awt.FlowLayout;
34
import java.awt.Graphics2D;
5+
import java.awt.event.ActionEvent;
46
import java.awt.image.BufferedImage;
7+
import java.io.File;
58
import java.io.IOException;
69

710
import javax.imageio.ImageIO;
11+
import javax.swing.AbstractAction;
12+
import javax.swing.JButton;
813
import javax.swing.JFrame;
914
import javax.swing.SwingUtilities;
1015
import javax.swing.UIManager;
@@ -15,15 +20,14 @@
1520
*
1621
* @author Bartosz Firyn (SarXos)
1722
*/
18-
public class WebcamImageTransformerExample extends JFrame implements WebcamImageTransformer {
19-
20-
private static final long serialVersionUID = 1L;
23+
public class WebcamImageTransformerExample implements WebcamImageTransformer {
2124

2225
private static final BufferedImage IMAGE_FRAME = getImage("frame.png");
2326

27+
private Webcam webcam = Webcam.getDefault();
28+
2429
public WebcamImageTransformerExample() {
2530

26-
Webcam webcam = Webcam.getDefault();
2731
webcam.setViewSize(WebcamResolution.VGA.getSize());
2832
webcam.setImageTransformer(this);
2933
webcam.open();
@@ -34,7 +38,23 @@ public WebcamImageTransformerExample() {
3438
panel.setFPSDisplayed(true);
3539
panel.setFillArea(true);
3640

41+
JButton button = new JButton(new AbstractAction("capture") {
42+
43+
private static final long serialVersionUID = 1L;
44+
45+
@Override
46+
public void actionPerformed(ActionEvent event) {
47+
try {
48+
ImageIO.write(webcam.getImage(), "PNG", new File("capture.png"));
49+
} catch (IOException e) {
50+
e.printStackTrace();
51+
}
52+
}
53+
});
54+
55+
window.setLayout(new FlowLayout(FlowLayout.CENTER));
3756
window.add(panel);
57+
window.add(button);
3858
window.pack();
3959
window.setVisible(true);
4060
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
@@ -46,7 +66,7 @@ public BufferedImage transform(BufferedImage image) {
4666
int w = image.getWidth();
4767
int h = image.getHeight();
4868

49-
BufferedImage modified = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
69+
BufferedImage modified = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
5070

5171
Graphics2D g2 = modified.createGraphics();
5272
g2.drawImage(image, null, 0, 0);

0 commit comments

Comments
 (0)