използване на Кайро;
Начертах правоъгълник вътре в по-голям правоъгълник, който е вътре в зона за рисуване.
Успях да прикача събитие към областта за рисуване, което е обект, който разширих от него
this.AddEvents ((int) EventMask.ButtonPressMask);
this.ButtonPressEvent += delegate(object o, ButtonPressEventArgs args) {
hasInterface(args.Event.X, args.Event.Y);
Console.WriteLine("Button Pressed " + args.Event.X + ", " + args.Event.Y);
};
Динамично рисувам квадратите, използвайки:
cr.Translate(width/2, height/2);
cr.Rectangle((pX + (i * tmp)) , pY, boxsize, boxsize);
private void recordPosition(double x, double y)
{
x = x*2;
y = y*2;
boxCoordinates.Add( new double[,]
{
{x, y}
}
); // store coords
}
List<double,double> boxCoordinates
Така че за вътрешността на зоната за рисуване квадратът е начертан при x=0, y=0 от "външна" гледна точка е в x=90, y=45; ширина = 180, височина = 100 Използвах превод (тъй като половината от това е копирано) на размера/2, така че това означава, че областта за рисуване е преоразмерявала квадрата, за да реша този проблем, запазвах умножението на позицията с 2, но това не работи, ако получавам "удари" извън начертания правоъгълник.
Кой е най-добрият начин да направите това? Искам да преведа X Y позициите от прозореца в областта за рисуване, видях, че това е възможно на други езици, но не съм сигурен как да го направя в C# и областта за рисуване от моно.
Благодаря за всяка помощ.