HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0915
nemaki画像の縁取りの方法2解決


nemaki

リンク

2019/9/15(Sun) 16:44:45|NO.88427

こんにちは 初めまして

画像の縁取り方法を教えて頂けないでしょうか。

例えば、次のような画像があり、(0,0)の白い部分を背景色として、
背景色以外の部分の輪郭(最外郭部)だけを残したいです。



//画像 color 100,255,0 circle 100,100,200,250,1 circle 300,100,400,250,1 color 155,155,200 circle 180,50,320,300,1 boxf 180, 290, 320, 350

どうぞよろしくお願いいたします。



この記事に返信する


玄冬

リンク

2019/9/15(Sun) 21:22:14|NO.88429

こういうこと?


#enum X= 0 #enum Y #const W 1 ;輪郭の幅 buffer 2, 640, 480 : title "" + ginfo_sel ;元画像 color 100,255,0 circle 100,100,200,250,1 circle 300,100,400,250,1 color 155,155,200 circle 180,50,320,300,1 boxf 180, 290, 320, 350 a_WIN = ginfo_winX, ginfo_winY buffer 3, a_WIN(X) * 2, a_WIN(Y) : title "" + ginfo_sel color : boxf color $FF, $FF, $FF gmode 4, , , 255 gcopy 2, 0, 0, a_WIN(X), a_WIN(Y) gsel 2 color : boxf repeat 300 gmode 5, , , 256 gcopy 3, 0, 0, a_WIN(X), a_WIN(Y) loop buffer 1, a_WIN(X) * 2, a_WIN(Y) : title "" + ginfo_sel repeat 6, 1 gsel 2 - (cnt \ 2) color 255, 255, 255 : boxf color 255 * (cnt & 1), 255 * ((cnt >> 1) & 1), 255 * ((cnt >> 2) & 1) gmode 4, , , 256 gcopy 1 + (cnt \ 2), 0, 0, a_WIN(X), a_WIN(Y) loop gsel 1 color : boxf pos 640,0 gcopy 2, 0, 0, a_WIN(X), a_WIN(Y) gsel 2 color 255, 255, 255 : boxf gmode 7, , , 256 pos 0,0 gcopy 1, 0, 0, a_WIN(X), a_WIN(Y) gsel 1 color : boxf gmode 2, , , 255 pos 0,0 gcopy 2, W, W, a_WIN(X) - W, a_WIN(Y) - W pos W, 0 gcopy 2, 0, W, a_WIN(X) - W, a_WIN(Y) - W pos 0, W gcopy 2, W, 0, a_WIN(X) - W, a_WIN(Y) - W pos W, W gcopy 2, 0, 0, a_WIN(X) - W, a_WIN(Y) - W pos 0,0 gcopy 2, 0, 0, a_WIN(X), a_WIN(Y) gsel 3 gmode 0, , , 256 pos 640,0 gcopy 1, 0, 0, a_WIN(X), a_WIN(Y) gsel 1 color : boxf gmode 7, , , 256 pos 0,0 gcopy 3, 0, 0, a_WIN(X), a_WIN(Y) gsel 0 gmode 2, , , 256 pos 0,0 gcopy 1, 0, 0, a_WIN(X), a_WIN(Y)
標準命令のみでやると上記のように冗長になるのでプラグインを探した方が早いような気がします。



nemaki

リンク

2019/9/16(Mon) 07:36:13|NO.88433

ありがとうございます。
動作も早く、助かりました。



ONION software Copyright 1997-2023(c) All rights reserved.