2 using namespace Psychlops;
4 void psychlops_main() {
5 Canvas d(Canvas::window);
7 Image img(100,100, Image::RGBA), ovalimg(200,200,Image::RGBA), copyimg, mtximg(100,100);
9 Psychlops::Rectangle rect(50,50);
12 Matrix mtx_r(100,100), mtx_g(100,100), mtx_b(100,100);
14 mtx_g(1<=row<=50,1<=col<=50) = 0.6;
16 mtximg.from(mtx_r, mtx_g, mtx_b);
18 ovalimg.clear(Color(0.0,0.0,0.0,0.1));
19 ovalimg.shift(150,150);
20 ovalimg.oval(rect.dup().shift(-50,-50).resize(200,200), Color(0.1,0.3,0.1,0.3));
21 ovalimg.oval(rect.shift(50,50), Color(0.5,0.2,0.8,0.5));
22 ovalimg.oval(rect.shift(50,50).resize(100,50), Color(0.5,0.2,0.8));
23 ovalimg.oval(rect.shift(50,50).resize(100,200), Color(0.8,0.2,0.1,0.4));
25 copyimg.from(ovalimg);
26 copyimg.shift(-100,-100).rect(rect.set(50,50).centering(copyimg), Color::red);
27 ovalimg.convert(Image::RGB);
32 img.clear(Color(0.5,0.5,0.5,0.5));
33 img.rect(rect.set(50,100), Color(0.5));
34 img.line(-25, 50, 50, -25, Color::black);
35 img.line(50, -25, 125, 50, Color::black);
36 img.line(125, 50, 50, 125, Color::black);
37 img.line(50, 125, -25, 50, Color::black);
38 img.line(50, 50, -1, -1, Color::white);
39 img.line(50, 50, 0, 23, Color::red);
40 img.line(50, 50, 0, 25, Color::red);
41 img.line(50, 50, 0, 32, Color::red);
42 img.line(50, 50, 0, 50, Color::white);
43 img.line(50, 50, 0, 52, Color(1.0, 0.5, 0.0));
44 img.line(50, 50, 0, 75, Color(1.0, 0.5, 0.0));
45 img.line(50, 50, 0, 80, Color(1.0, 0.5, 0.0));
46 img.line(50, 50, 0, 100, Color::white);
47 img.line(50, 50, 15, 100, Color::yellow);
48 img.line(50, 50, 25, 100, Color::yellow);
49 img.line(50, 50, 30, 100, Color::yellow);
50 img.line(50, 50, 50, 100, Color::white);
51 img.line(50, 50, 70, 100, Color::green);
52 img.line(50, 50, 75, 100, Color::green);
53 img.line(50, 50, 85, 100, Color::green);
54 img.line(50, 50, 100, 100, Color::white);
55 img.line(50, 50, 100, 85, Color::cyan);
56 img.line(50, 50, 100, 75, Color::cyan);
57 img.line(50, 50, 100, 65, Color::cyan);
58 img.line(50, 50, 100, 50, Color::white);
59 img.line(50, 50, 100, 45, Color::blue);
60 img.line(50, 50, 100, 25, Color::blue);
61 img.line(50, 50, 100, 15, Color::blue);
62 img.line(50, 50, 100, 0, Color::white);
63 img.line(50, 50, 88, 0, Color(0.5,0.0,1.0));
64 img.line(50, 50, 75, 0, Color(0.5,0.0,1.0));
65 img.line(50, 50, 60, 0, Color(0.5,0.0,1.0));
66 img.line(50, 50, 50, 0, Color::white);
67 img.line(50, 50, 45, 0, Color::magenta);
68 img.line(50, 50, 25, 0, Color::magenta);
69 img.line(50, 50, 11, 0, Color::magenta);
70 img.line( 0, 0, 99, 0, Color::red);
71 img.line(99, 0, 99, 99, Color::blue);
72 img.line(99, 99, 0, 99, Color::green);
73 img.line( 0, 99, 0, 0, Color::yellow);
77 //img.save("hoge.png");
78 Psychlops::Rectangle targetarea(0,0,98,98), sourcearea(100,100);
79 targetarea.shift(400,200);
81 while(!Input::get(Keyboard::esc)){
85 img.draw(Mouse::x, Mouse::y);
87 d.image(img, targetarea, sourcearea);