1 package de.desy.acop.video.timageio.test;
2
3 import java.awt.Graphics;
4 import java.awt.Graphics2D;
5 import java.awt.Image;
6 import java.awt.image.BufferedImage;
7
8 import javax.swing.JFrame;
9 import javax.swing.JPanel;
10
11 import de.desy.acop.video.displayer.ImageParser;
12 import de.desy.acop.video.displayer.timage.TImageConverter;
13 import de.desy.acop.video.displayer.timage.TImageUtils;
14 import de.desy.tine.types.IMAGE;
15
16 public class TestTImageConvertor {
17
18
19
20
21 public static void main(String[] args) {
22 TestTImageConvertor app = new TestTImageConvertor();
23 try {
24 app.test();
25
26 } catch (Exception e) {
27 e.printStackTrace();
28 }
29 }
30
31 @SuppressWarnings("deprecation")
32 private void test() throws Exception {
33 IMAGE timage = new IMAGE(0);
34 ImageParser.loadImageFile("splash.png", timage);
35
36
37
38
39
40
41
42
43
44 TImageConverter converter = new TImageConverter();
45 Image imageTest = converter.parseTineImage(timage, true);
46 System.out.println("imageTest : " + imageTest);
47
48 BufferedImage bi = TImageUtils.toBufferedImage(imageTest);
49
50 int[] rgbArray = bi.getRGB(0, 0, bi.getWidth(), bi.getHeight(), null, 0, bi.getWidth());
51
52
53
54
55
56 System.out.println("<<< mdavid >>> Transfer type: " + bi.getColorModel().getTransferType());
57 System.out.println("<<< mdavid >>> Image type: " + bi.getType());
58 System.out.println("<<< mdavid >>> rgbArray: " + rgbArray);
59
60 BufferedImage biGray = TImageUtils.convertToGrayscale(bi);
61 int[] rgbArrayGray = biGray.getRGB(0, 0, biGray.getWidth(), biGray.getHeight(), null, 0, biGray.getWidth());
62
63
64
65
66
67
68 System.out.println("<<< mdavid >>> biGray Transfer type: " + biGray.getColorModel().getTransferType());
69 System.out.println("<<< mdavid >>> biGray Image type: " + biGray.getType());
70 System.out.println("<<< mdavid >>> rgbArrayGray: " + rgbArrayGray);
71
72 MyPanel panel = new MyPanel(bi);
73 JFrame frame = new JFrame("Test");
74 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
75 frame.add(panel);
76 frame.setSize(1024, 800);
77 frame.setVisible(true);
78
79 }
80
81 class MyPanel extends JPanel {
82
83 private BufferedImage bi;
84
85 public MyPanel(BufferedImage bi) {
86 super();
87 this.bi = bi;
88 }
89
90 private static final long serialVersionUID = 1L;
91
92 @Override
93 protected void paintComponent(Graphics g) {
94 super.paintComponent(g);
95 Graphics2D g2 = (Graphics2D) g;
96
97 if (bi == null) {
98 int w = this.getWidth();
99 int h = this.getHeight();
100 bi = (BufferedImage) (this.createImage(w, h));
101 Graphics2D gc = bi.createGraphics();
102 for (int x = 0; x < w; x += 10) {
103 gc.drawLine(x, 0, x, h);
104 }
105 for (int y = 0; y < h; y += 10) {
106 gc.drawLine(0, y, w, y);
107 }
108 }
109 g2.drawImage(bi, null, 0, 0);
110 }
111 }
112 }