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