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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0928
ねんねこ画像テキスト化5解決


ねんねこ

リンク

2021/9/28(Tue) 17:41:54|NO.94005

これみたいに画像をテキストにするとかはできませんか?
http://www.onionsoft.net/hsp/contest2005/list_s1.html#id38



この記事に返信する


ねんねこ

リンク

2021/9/28(Tue) 17:57:23|NO.94006

一応こんなプラグラムを作ったんですけど、うまくいかないです...

*skins a=dir_cur dialog "png|jpg|bmp",16,"画像ファイル|画像ファイル|画像ファイル" c=stat if c=0:goto *lllll chdir a b=refstr picload b winx=ginfo_winx winy=ginfo_winy winx2=0 winy2=0 dim rpos,100 dim gpos,100 dim bpos,100 repeat pget r=ginfo_r g=ginfo_g b=ginfo_b await if winx2=winx and winy2=winy:break if winx2=winx:winy2=winy2+1:winx=0 winx2=winx2+1 rpos(winy2)=rpos(winy2)+r gpos(winy2)=gpos(winy2)+g bpos(winy2)=bpos(winy2)+b loop goto *skin_loated *skin_loated dialog "スキンの読み込みに成功しました。" goto *skin_saved *skin_saved notesel rgbpos notesave "skin.txt"



kの字

リンク

2021/9/29(Wed) 20:41:10|NO.94014

ざっと見た感じ
gotoで存在しないラベル指定しているのと
pgetで座標を指定していないのと
noteselで指定している変数に何も入れていないですね



ねんねこ

リンク

2021/9/30(Thu) 17:04:21|NO.94016

一応スクリプト全部

*lllll cls //button "接続",*play button "スキン設定",*skins button "配列からスキン読み込み",*skin stop *skins a=dir_cur dialog "png|jpg|bmp",16,"画像ファイル|画像ファイル|画像ファイル" c=stat if c=0:goto *lllll chdir a b=refstr picload b winx=ginfo_winx winy=ginfo_winy winx2=0 winy2=0 dim rpos,100 dim gpos,100 dim bpos,100 repeat pget r=ginfo_r g=ginfo_g b=ginfo_b await if winx2=winx and winy2=winy:break if winx2=winx:winy2=winy2+1:winx=0 winx2=winx2+1 rpos(winy2)=rpos(winy2)+r gpos(winy2)=gpos(winy2)+g bpos(winy2)=bpos(winy2)+b loop goto *skin_loated *skin_loated dialog "スキンの読み込みに成功しました。" goto *skin_saved *skin_saved notesel rgbpos notesave "skin.txt" *skin goto *lllll



わたしです

リンク

2021/10/1(Fri) 00:22:53|NO.94026

前にも言った話ではありますが(返答もないので見て無いのかもしれないが)、
分からないから即質問ではなく、一旦落ち着いて変数の扱いを確認した方が良いと思います。
今回も含め、変数関連で問題があって動いてないという理由が多いです。
それから、「動かない」ではなく、「エラー(内容○○)が出る」など、
具体的な状況を記載することをお勧めします。
質問者も回答者もただの人間なので質問者がどのような状態になっているのか
記載しないと読み取れません。勘違いや誤解のもとです。

それはそれとして、
repeat以降の変数に問題があるように見えます。
repeatを抜ける条件が
>>if winx2=winx and winy2=winy:break
ですが、
>>winx2=winx2+1
↑でwinx2がwinxと同じ数値になった際、
>>if winx2=winx:winy2=winy2+1:winx=0
こちらでwinxが0になる。
加算しているのはwinx2なのに横サイズを格納したwinxをリセットしているため、
一度↑を実行した後はwinxが0のまま、winx2はリセットされないまま
永久に加算され続け、一生breakされない状態になっています。

問題発生時ですが、変数の中身を定期的に確認することをお勧めします。
今回の場合はrepeatに入ってから抜け出せていなかったので、
repeat内に
title ""+winx+","+"winx2"

の様なコードを入れることでタイトルバーに変数の内容が表示、 更新されていき、winxが0になり、winx2の数値が異常に増えていっていることが 理解できると思います。



ねんねこ

リンク

2021/10/1(Fri) 17:53:29|NO.94028

すみません。もう少し確認してから投稿するようにします。



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