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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
1108
イナウサ簡単な画像編集ソフト8解決


イナウサ

リンク

2017/11/8(Wed) 20:05:56|NO.81797

お久しぶりです。
最初に"質問・教えて"としておきながら少しずつ内容は違うかもしれません。すみません
ダイアログで編集したい画像を選択し、それをウィンドウに表示。マウスでクリックしたところに
ランダムで色がつく。❎ボタンでコントロール画面が表示され保存・再編集・終了。そのようなものを作りました。
現在パソコンがなく、スクリプトを試せないので、どなたか上の一連の動作ができるのか確かめてもらえないでしょうか?
以下スクリプト
< pre>
randomize

//コントロールパネルの作成
screen 1
button"保存",*save
button"再編集",*remake
button"終了",finished
gsel 1,-1

//仮想画面に写真を保存
dialog ,16
buffer 2
picload"refstr",0
xsize = ginfo(12)
ysize = ginfo(13)

*main
screen 0
gmode 0,xsize,ysize
onexit*finish
repeat
stick key
if key=512{
color rnd(255),rnd(255),rnd(255)
circle mousex-5,mousey-5,mousex+5,mousey+5
await
loop
*finish
gsel 1,2 //コントロールパネルを表示

*save
gsel 1,-1 //コントロールパネルを非表示
bmpsave "gazou"
end

*remake
gsel 1,-1 //コントロールパネルを非表示
goto*main

*finished
end
< pre/>



この記事に返信する


たっつんど

リンク

2017/11/8(Wed) 20:21:29|NO.81799

私の環境だから起こるのかわかりませんが、エラー内容を書きます。

#未初期化の変数があります(finished)
#未初期化の変数があります(key)
???(23) : error 4 : パラメーター式の記述が無効です (23行目)

ちなみに、23行目は
if key=512{
と書いてあります。



 

リンク

2017/11/8(Wed) 20:26:49|NO.81800

NO.81797・NO.81799さん
NO.81799さんのエラーは「{」が全角だから、つまり半角にすれば問題ありません。
また、終了ボタンの「*」の抜けも修正すればエラー無く動きます。
が、一先ず、自分の環境では画像が表示されませんでした。



イナウサ

リンク

2017/11/8(Wed) 20:56:01|NO.81801

全角半角ミスはすみませんでした。スマホで書いていたものなので...
訂正です。awaitの上に

をお願いします。



イナウサ

リンク

2017/11/8(Wed) 22:36:19|NO.81802

なんとなく直すべきところがわかりました。皆さんありがとうございました。
この件については解決とします。
ところでですが、実は画像を流れ作業的な感じで次々と読み込んで編集、保存のような感じにしたいのです。
読み込むファイルはドキュメント内全ファイルが対象です。dirlistを使おうと思ったのですが、ファイル名
しか取得できずドキュメント内全ファイルの絶対パスをまとめて取得すること方法はないでしょうか?



暇人

リンク

2017/11/8(Wed) 22:55:39|NO.81803

これは順序だてて考えれば分かる事ですが
dirlistで取得出来るファイル名は
カレントディレクトリ内にあるファイルになるので
「カレントディレクトリ+ファイル名」
がフルパスって事になる

full_path=dir_cur+"\\"+"ファイル名"



イナウサ

リンク

2017/11/9(Thu) 06:35:12|NO.81805

それはそうなのですが、実際dirlistの返り値は"ファイル名\nファイル名\n"のようになるのでどの
タイミングで足せば良いのかわからないのです。
たとえsplitで\nで分割したとしても保存先の変数を指定しなければなりません。ファイルがいくつあるか
わからない状態ではそれができないかと...。
もしファイル数が100とかだったら手に負えないかと...(配列変数で勝手にやってくれるならありがたい)。



イナウサ

リンク

2017/11/9(Thu) 07:08:30|NO.81806

調べてみたら...配列変数にできるのですね。
読み込むところはこんな感じでどうでしょう?試していただけると助かります
dirlist list,"カレントディレクトリ*.*",1
split list,"\n",picture
repeat stat
picture(cnt)="カレントディレクトリ"+ picture(cnt)
loop

screen 0
repeat
exist"picture("+cnt+")"
if strsize = -1 {end}
picload"picture("+cnt+")",0
loop



イナウサ

リンク

2017/11/13(Mon) 20:41:36|NO.81840

皆さんありがとうございました。



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