LINUX.ORG.RU

Сообщения Hackeridze

 

Замена Skype

Форум — Talks

Посоветуйте замену скайпу. Попробовал: Ekiga — сегфолтится и вообще хрен пойми что за. linphone — хз как запилить акк, а по ip соединяться как-то не кошерно

 ,

Hackeridze ()

Прилипание к точкам сетки

Форум — Development

Доброе утро. Пописываю граф. редактор, решил добавить возможность рисовать с «прилипанием» к точкам сетки. Написал вот что:

QPoint QtnpImage::closest_grid_point(QPoint p)
{
double x,y;

if (p.x() > c_x)
x = (p.x()-c_x)/grid_step;
else if (p.x() < c_x)
x = -1*(c_x-p.x())/grid_step;
else
x = 0;

if (p.y() > c_y)
y = -1*(p.y()-c_y)/grid_step;
else if (p.y() < c_y)
y = (c_y-p.y())/grid_step;
else
y = 0;

return get_grid_point_coordinates(QPoint(round(x),round(y)), grid_step);
}
Так вот, он не делает то, что мне нужно. Точнее делает, но не по всему рисунку. Я понимаю что это связано с тем, что в лево от 0 х отрицателен, в верх у отрицателен и наоборот, но мой маленький мозг не может это всё описать >_<

Помогите позязя!

Если кому-то нужена функция в контексте то она лежит тут: https://github.com/Hackeridze/Qtnp/blob/master/QtnpImage.cpp#L456

 

Hackeridze ()

RSS подписка на новые темы