色の分析をActive Basicでおこなっています。
IFで条件に当てはまった場合gotoで途中の計算を飛ばしたいのですが、
ジャンプ先が不正となってしまいます。
ご指摘よろしくお願いいたします。
プログラムです
↓↓↓↓
#include "t.idx"
#include "s.sbp"
#N88BASIC
' ↓ ここからプログラムが実行されます
Dim a As String, FileName As String
Dim hBmp As Long
Dim nRed as Long, nGreen as Long, nBlue as Long,
Dim R as Single, G as Single, B as Single
Dim max as Single, min as Single
Dim H as Single, S as Single, V as Single
Dim Ha as Long, Sa as Single, Va as Single
Dim Hb as Long, Sb as Single, Vb as Single
Dim Hc as Long, Sc as Single, Vc as Single
Dim Hd as Long, Sd as Single, Vd as Single
Dim He as Long, Se as Single, Ve as Single
Dim Hf as Long, Sf as Single, Vf as Single
Dim nflame As Long
Dim x As Long, y As Long, r As Long
Dim hh as string
for nflame=1 to 2 ' ←この数字を、分析する画像ファイル数に変える
FileName="c:\ab\"+Str$(nflame)+".bmp" 'c:\ab\ というフォルダに、分析する画像を、1.bmp、2.bmp・・と保存しておく
BLoad(FileName , hBmp )
PutBmp( 1,1, hBmp )
GetBmp( 1,1,382 ,215, hBmp ) 'ここにx、y解像度をいれる
a="c:\ab\"+"ironobori1.txt" '色のデータ
open a as #1
cls '1列か1枚ごとに数値を0に戻す
Ha=0:Hb=0:Hc=0:Hd=0:He=0:Hf=0:Sa=0:Sb=0:Sc=0:Sd=0:Se=0:Sf=0:Va=0:Vb=0:Vc=0:Vd=0:Ve=0:Vf=0
for x=1 to 382 'この320が、画像解像度のx成分
for y=1 to 215 'この240が、画像解像度のy成分
r = Point( x, y )
nRed = ( r And &HFF )
nGreen = ( r And &HFF00 ) / &H100
nBlue = ( r And &HFF0000 ) / &H10000
R=nRed/255
G=nGreen/255
B=nBlue/255
If R=0 and G=0 and B=0 then goto 104
If R=90 and G=100 and B=100 then goto 104
**********************************
ここでgotoできません。
**********************************
If R => G and R=> B then max=R
If G => R and G => B then max=G
If B => R and B =>G then max=B
If R <= G and R <= B then min=R
If G <= R and G <= B then min=G
If B <= R and B <= G then min=B
If max=R then H=60*(G-B)/(max-min)
If max=G then H=60*(B-R)/(max-min)+120
If max=B then H=60*(R-G)/(max-min)+240
S=(max-min)/max
V=max
If H=>0 and H<60 then
Ha=Ha+1
Va=Va+V
Sa=Sa+S
End If
If H=>60 and H<120 then
Hb=Hb+1
Vb=Vb+V
Sb=Sb+S
End If
If H=>120 and H<180 then
Hc=Hc+1
Vc=Vc+V
Sc=Sc+S
End If
If H=>180 and H<240 then
Hd=Hd+1
Vd=Vd+V
Sd=Sd+S
End If
If H=>240 and H<300 then
He=He+1
Ve=Ve+V
Se=Se+S
End If
If H=>300 and H<=360 then
Hf=Hf+1
Vf=Vf+V
Sf=Sf+S
End If
Ha=Ha+0
Hb=Hb+0
Hc=Hc+0
Hd=Hd+0
He=He+0
Hf=Hf+0
Sa=Sa+0
Sb=Sb+0
Sc=Sc+0
Sd=Sd+0
Se=Se+0
Sf=Sf+0
Va=Va+0
Vb=Vb+0
Vc=Vc+0
Vd=Vd+0
Ve=Ve+0
Vf=Vf+0
Next y
Next x
print x,y,Ha,Hb,Hc,Hd,He,Hf
write #1,Ha,Hb,Hc,Hd,He,Hf
FinishBmp( hBmp )
Next nflame
close #1
End
No.1ベストアンサー
- 回答日時:
No.3
- 回答日時:
ActiveBasicは知りませんが、意図するgotoの飛び先は
Ha=Ha+0
あたりの行ですか?
もしやテキストの104行目と行番号としての104を
混同されているのでは?と思うのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JCLの基本について教えてください
-
N88basicを用いたGPIB制御
-
変数の値が勝手に変化する原因
-
【JAVA】数字をひし形に出力す...
-
PICのプログラムでsrandを使う...
-
4桁の数値を逆に表示されるプ...
-
素数判定について
-
Fortran "実引数の型が仮引数の...
-
COBOLのピリオド
-
プログラミング
-
ProC 固定SQLでNULLってどう表...
-
Fortran90についての質問です。
-
360度を超える角度
-
C言語 バッファについて。
-
あるプログラムのコマンドライ...
-
C言語の課題で、1年の秒数を計...
-
「Outlookが他のプログラムによ...
-
0除算して、落ちるプログラムと...
-
65536は2の何乗なのでしょうか?
-
VBAで仕様書は書きますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング
-
【JAVA】数字をひし形に出力す...
-
変数の値が勝手に変化する原因
-
ruby
-
JCLの基本について教えてください
-
値Xを入力し、その平方根を画面...
-
N88basicを用いたGPIB制御
-
COBOLのピリオド
-
ProC 固定SQLでNULLってどう表...
-
Fortran90についての質問です。
-
main関数終了時のreturnの意味は?
-
360度を超える角度
-
C言語 バッファについて。
-
3つの整数のうち奇数のみを表示...
-
Fortran "実引数の型が仮引数の...
-
Delphi 6 で 2進数→10進数変換
-
javaで整数nを入力し、それが素...
-
fortran if文
-
3次関数を作るプログラム
-
BASICプログラム入門 副書名 プ...
おすすめ情報