using System; using System.Reflection; using System.Runtime.InteropServices; using Cairo; public class Example { static void Main () { // Оператор using гарантує, що потенційно важкі об'єкти негайно утилізуються using (ImageSurface draw = new ImageSurface (Format.Argb32, 70, 150)) { using (Context gr = new Context(draw)) // Встановлення: { gr.Antialias = Antialias.Subpixel; // метода зглажування gr.LineWidth = 9; // товщини лінії gr.SetSourceColor(new Color(0,0,0,1)); // кольору gr.MoveTo (10, 10); // координат початкової точки gr.LineTo (40, 60); // проведення віртуальної лінії з (5,5) до (20,30) gr.Stroke (); // наведення контуру на поверхні gr.Antialias = Antialias.Gray; gr.LineWidth = 8; gr.SetSourceColor(new Color (1, 0, 0, 1)); gr.LineCap = LineCap.Round; // заокруглення лінії в її кінцях gr.MoveTo (10, 50); gr.LineTo (40, 100); gr.Stroke (); gr.Antialias = Antialias.None; // найшвидший спосіб, але низької якості gr.LineWidth = 7; gr.MoveTo (10, 90); gr.LineTo (40, 140); gr.Stroke (); draw.WriteToPng ("output.png"); // збереження зображення у файл } } } }