平行線は抜きアリで、スピード線として使えます。
3種をテキストでDL - 0line.txt
右クリックで保存してから、拡張子を.txt から.nas に変更してください。
DLして登録する場合、user_list.txtに
0line.txt draw_heiko #線/平行線
0line.nas draw_suihe #線/水平
0line.nas draw_suit #線/垂直
と書いてください。
スクリプトだけの場合、「続きを読む」にあります。
平行線、漫画のスピード線としてどうぞ。
void draw_heiko()
{
np_canvas c = get_active_canvas();
read_mouse_input(c,"軸の決定");
np_point p1 = get_mouse_point(c);
read_mouse_input(c,"平行線の決定");
np_point p2 = get_mouse_point(c);
read_mouse_input(c,"線を描く場所をクリック ESCキーで終了");
while (get_mouse_input_status(c) == 1) {
np_point p3 = get_mouse_point(c);
double i = (p2.y - p1.y) / (p2.x - p1.x);
double a = (p3.x - p1.x) * i ;
double y = p3.y - a ;
np_point p4;
p4.x = p1.x ;
p4.y = y ;
draw_line_prs(c,p4,1,p3,0);
read_mouse_input(c,"線を描く場所をクリック ESCキーで終了");
}
}
以下はキャンバスに対して水平(垂直)にしたい時。
集中線の応用で、水平線をひくスクリプトです。
void draw_suihe()
{
np_canvas c = get_active_canvas();
read_mouse_input(c,"軸をクリックで決定");
np_point p1 = get_mouse_point(c);
read_mouse_input(c,"線を描く場所をクリック ESCキーで終了");
while (get_mouse_input_status(c) == 1) {
np_point p2 = get_mouse_point(c);
np_point p3;
p3.x = p1.x ;
p3.y = p2.y ;
draw_line(c,p2,p3);
read_mouse_input(c,"線を描く場所をクリック ESCキーで終了");
}
}
垂直にしたい場合は
np_point p3;
p3.x = p1.x ;
p3.y = p2.y ;
を、
np_point p3;
p3.x = p2.x ;
p3.y = p1.y ;
に。