on mouseUp
get the mouseColor --RGB値をitに収納
-- カラーを示すサンプル・グラフィックをitのRGB値に
set the backgroundColor of grc "testColor" to it
-- RGB値をその右のフィールドに入れる
put it into fld "tRGB"
-- 読み上げた時カンマの位取りを間違えないよう、カンマの後にスペースを入れる
replace comma with comma & space in it
-- カスタム・コマンドで「the mouseColor」で得たRGB値を読み上げる
readText it
end mouseUp
スタックに書いたカスタム・コマンド「readText」
command readText pText
put item 1 of the label of btn "tName" of stack "speechImage" \
into tName -- スピーチする名前を「tName」に
put the hilitedButtonName of grp "readSpeed"of stack "speechImage" \
into tSpeed -- スピーチのスピードを「tSpeed」に
-- 1000の位取りを読み間違えないように、カンマの後にスペースを入れる
replace comma with ", " in pText
revSetSpeechVoice tName
revSetSpeechSpeed tSpeed
revSetSpeechVolume 130
revspeak pText
end readText
on mouseUp
mosaicColorArray
set the backgroundColor of grc "testColor" \
to the backgroundColor of this cd
put "" into fld "tRGB"
end mouseUp
-- 次の「speechDecimal」の為に
-- 「mosaicColorArray」の最後の行「tColorArray」を配列のグローバルにしておく
global gColorArray
private command mosaicColorArray
-- イメージ「dropImageS」のイメージ・データ(総バイナリ)
put the imagedata of image "dropImageS" of stack "speechImage" into tBinary
-- バイナリ総数を tLength に
put the length of tBinary into tLength
-- バイナリの横の並び数 (row)
put the width of image "dropImageS" of stack "speechImage" into tWidthS
-- バイナリの縦の数 (column)
put the height of image "dropImageS" of stack "speechImage" into tHeightS
-- 横列の数で区切り(業替え cr)を入れる為のカウントのイニシャライズ
put 0 into tCount
-- 1ピクセルの色彩値が4文字のバイナリから成り立っているので
repeat with i = 1 to (tLength - 4) step 4
add 1 to tCount -- 4文字ごとにカウントを1増やす
-- カウントが横のバイナリ数になったら
if tCount = tWidthS then
put cr into tConj -- 行替え
put 0 into tCount -- カウントを0に
-- それ以外はタブで4文字ごとのアキを作る
else
put tab into tConj
end if
-- 4文字まとめてバイナリ文字をナンバーに変換
put charToNum(char i of tBinary) & comma & \
charToNum(char (i + 1) of tBinary) & comma & \
charToNum(char (i + 2) of tBinary) & comma & \
charToNum(char (i + 3) of tBinary) & tConj after tMosaicColor
end repeat -- リピート終わり
put tMosaicColor into fld "tBinary" -- RGB numbers
put "Decimal" into fld "convertTitle"
put tMosaicColor into tColorArray
split gColorArray by column -- 次で使えるように配列をグローバルにする
end mosaicColorArray
10進数のRGBカラーをスピーチするボタン「speechDecimal」のスクリプト
global gColorArray -- ボタン「binaryToDigimal」で作った配列を使う
on mouseUp
set the cursor to watch
set itemDel to tab
put the num of items of gColorArray[1] into tHnum
put the keys of gColorArray into tKeys
put num of lines of tKeys into tVNum
repeat with v=1 to tVNum
repeat with h=1 to tHnum
if the mouseClick then
set the backgroundColor of grc "speechColor" \
to the backgroundColor of this cd
put "" into fld "tRGB"
exit to top
end if
put item h of gColorArray[v] into tHColors
put char offset(comma, tHColors)+ 1 to -1 of tHColors into tRGB
set the backgroundColor of grc "speechColor" to tRGB
put tRGB into fld "tRGB"
readText tRGB
wait 260
end repeat
set the backgroundColor of grc "speechColor" \
to the backgroundColor of this cd
put "" into fld "tRGB"
end repeat
end mouseUp