1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
-- http://www.ibm.com/developerworks/library/l-cairo/index.html
-- http://www.ibm.com/developerworks/library/l-cairo/index.html#download
-- http://www.dynaset.org/dogusanh/luacairo
local cairo = require "lcairo"
local CAIRO = cairo
print (cairo.version_string())
local WIDTH = 670
local HEIGHT = 230
surface = cairo.image_surface_create (CAIRO.FORMAT_ARGB32, WIDTH, HEIGHT)
cr = cairo.create (surface);
local pen_radius = 10;
cairo.set_source_rgb (cr, 1, 1, 1);
cairo.paint (cr);
cairo.set_line_width (cr, pen_radius * 2);
cairo.set_source_rgba (cr, .3, .42, .69, 1);
cairo.move_to (cr, 10, 10);
cairo.line_to (cr, 160, 10);
cairo.move_to (cr, 10, 40);
cairo.line_to (cr, 160, 40);
cairo.move_to (cr, 60, 70);
cairo.line_to (cr, 110, 70);
cairo.move_to (cr, 60, 100);
cairo.line_to (cr, 110, 100);
cairo.move_to (cr, 60, 130);
cairo.line_to (cr, 110, 130);
cairo.move_to (cr, 60, 160);
cairo.line_to (cr, 110, 160);
cairo.move_to (cr, 10, 190);
cairo.line_to (cr, 160, 190);
cairo.move_to (cr, 10, 220);
cairo.line_to (cr, 160, 220);
cairo.move_to (cr, 170, 10);
cairo.line_to (cr, 340, 10);
cairo.move_to (cr, 170, 40);
cairo.line_to (cr, 360, 40);
cairo.move_to (cr, 200, 70);
cairo.line_to (cr, 250, 70);
cairo.move_to (cr, 300, 70);
cairo.line_to (cr, 360, 70);
cairo.move_to (cr, 210, 100);
cairo.line_to (cr, 350, 100);
cairo.move_to (cr, 210, 130);
cairo.line_to (cr, 350, 130);
cairo.move_to (cr, 200, 160);
cairo.line_to (cr, 250, 160);
cairo.move_to (cr, 300, 160);
cairo.line_to (cr, 360, 160);
cairo.move_to (cr, 170, 190);
cairo.line_to (cr, 360, 190);
cairo.move_to (cr, 170, 220);
cairo.line_to (cr, 340, 220);
cairo.move_to (cr, 370, 10);
cairo.line_to (cr, 470, 10);
cairo.move_to (cr, 560, 10);
cairo.line_to (cr, 660, 10);
cairo.move_to (cr, 370, 40);
cairo.line_to (cr, 490, 40);
cairo.move_to (cr, 540, 40);
cairo.line_to (cr, 660, 40);
cairo.move_to (cr, 400, 70);
cairo.line_to (cr, 510, 70);
cairo.move_to (cr, 520, 70);
cairo.line_to (cr, 630, 70);
cairo.move_to (cr, 400, 100);
cairo.line_to (cr, 630, 100);
cairo.move_to (cr, 400, 130);
cairo.line_to (cr, 470, 130);
cairo.move_to (cr, 480, 130);
cairo.line_to (cr, 550, 130);
cairo.move_to (cr, 560, 130);
cairo.line_to (cr, 630, 130);
cairo.move_to (cr, 400, 160);
cairo.line_to (cr, 470, 160);
cairo.move_to (cr, 490, 160);
cairo.line_to (cr, 540, 160);
cairo.move_to (cr, 560, 160);
cairo.line_to (cr, 630, 160);
cairo.move_to (cr, 370, 190);
cairo.line_to (cr, 470, 190);
cairo.move_to (cr, 500, 190);
cairo.line_to (cr, 530, 190);
cairo.move_to (cr, 560, 190);
cairo.line_to (cr, 660, 190);
cairo.move_to (cr, 370, 220);
cairo.line_to (cr, 470, 220);
cairo.move_to (cr, 510, 220);
cairo.line_to (cr, 520, 220);
cairo.move_to (cr, 560, 220);
cairo.line_to (cr, 660, 220);
cairo.stroke(cr);
cairo.destroy (cr);
cairo.surface_write_to_png (surface, "ibm.png");
cairo.surface_destroy (surface); |