2回のクリックで幅を指定できるので、固定のテクスチャよりも自由度高いのが特徴。
見本画像

n_thukai_stripes.nas ←縦・横・斜線全て
n_thukai_stripes.nas draw_border #縞々/ボーダー
n_thukai_stripes.nas draw_stripe #縞々/ストライプ
n_thukai_stripes.nas draw_slash #縞々/スラッシュ
n_thukai_stripes.nas draw_slash45a #縞々/45度右上がり
n_thukai_stripes.nas draw_slash45b #縞々/45度右下がり
n_thukai_stripes.nas draw_cross #縞々/クロス
n_thukai_stripes.nas draw_cross45 #縞々/クロス45度
猫ペイントの「script」フォルダの中、「menu」フォルダの中に、
DLした n_thukai_stripes.nas を入れて、user_list に上の緑の文字列をコピペすると使えるようになります。
縦・横線のみが欲しい場合、スクリプトのソースは続きにあります。
void draw_stripe()
{
np_canvas c = get_active_canvas();
np_image img = get_active_image();
int w = get_width(img); //キャンバスの幅を取得
int h = get_height(img); //キャンバスの高さを取得
// 横の幅決定
read_mouse_input(c,"input mouse pos1");
np_point p1 = get_mouse_point(c);
read_mouse_input(c,"input mouse pos2");
np_point p2 = get_mouse_point(c);
double x = p2.x - p1.x ;
if ( x < 0 ) { x = x * (-1) ; }
for (int i = 0; i <= w / x ; ++i) {
draw_line(c, (x / 3) + (i * x),-40, (x / 3) + (i * x), h+40);
}
}
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
void draw_border()
{
np_canvas c = get_active_canvas();
np_image img = get_active_image();
int w = get_width(img); //キャンバスの幅を取得
int h = get_height(img); //キャンバスの高さを取得
// 縦の幅決定
read_mouse_input(c,"input mouse pos1");
np_point p1 = get_mouse_point(c);
read_mouse_input(c,"input mouse pos2");
np_point p2 = get_mouse_point(c);
double y = p2.y - p1.y ;
if ( y < 0 ) { y = y * (-1) ; }
for (int i = 0; i <= h / y ; ++i) {
draw_line(c,-40, (y / 3) + (i * y), w+40, (y / 3) + (i * y));
}
}
タグ:スクリプト