新しく発言する  EXIT  インデックスへ
!更新、COLOR色指標チェッカー5

  !更新、COLOR 色指標チェッカー5 SECOND 2008/01/07 22:16:38  (修正2回)
  似たようなものですが、以前作りました。 荒田浩二 2008/01/09 02:02:14 
   └!面白いプログラムで、イジッテミマシタ、勝... SECOND 2008/01/09 08:33:37  (修正5回)

Re: 似たようなものですが、以前作りました。  返事を書く  ノートメニュー
SECOND <jjqdmekgpt> 2008/01/09 08:33:37 ** この記事は5回修正されてます
!面白いプログラムで、イジッテミマシタ、勝手な事してすみません。

!情報を表示させたい色をクリック。再クリックで消去。右クリックで終了。

!左は COLOR MODE が "REGULAR" の色指標とR,G,Bの強度。
!中央は COLOR MODE が "NATIVE" の時の色指標と色強度を255倍した整数。
!右は、それを16進,2進表現したものです。

REM ** 色情報 **
DECLARE EXTERNAL PICTURE rect
DIM cm(3),cn$(3),c8bit(3)
MAT READ cn$
DATA "R","G","B"
LET xp=8
LET yp=32
!SET BITMAP SIZE 120*xp+1,20*yp+1 ! 961,641
SET WINDOW 0,xp,yp,0
SET TEXT HEIGHT 0.56
SET TEXT JUSTIFY "CENTER","HALF"
DRAW color_index
!STOP ! 表のみの場合。
LET s=-1
DO
DO
MOUSE POLL x,y,left,right
LOOP UNTIL left=0 AND right=0
DO
MOUSE POLL x,y,left,right
WAIT DELAY 0.05 ! クロックアップを、押える。
LOOP UNTIL left=1 OR right=1
IF right=1 THEN STOP ! 右クリックで終了
LET ix=INT(x)
LET iy=INT(y)
LET col=iy*xp+ix
IF col<>s THEN
IF 5<ix THEN LET ix=ix-2
IF 26<iy THEN LET iy=iy-5
DRAW rect(col) WITH SCALE(3,6)*SHIFT(ix,iy)
SET TEXT BACKGROUND "OPAQUE" ! 文字の背景色設定=(色指標が0の色)で塗る。
PLOT TEXT ,AT INT(x)+0.47,INT(y)+0.5 : " "&STR$(col)
ASK COLOR MIX(col) cm(1),cm(2),cm(3) ! R,G,B
LET c24bit=0
FOR i=1 TO 3
PLOT TEXT ,AT ix+0.5,iy+i+1.5 ,USING " # <.####": cn$(i),STR$(ROUND(cm(i),4))
LET c8bit(i)=ROUND(255*cm(i),0)
PLOT TEXT ,AT ix+1.5,iy+i+1.5 ,USING " # >##": cn$(i),STR$(c8bit(i))
! LET c24bit=c24bit*256+c8bit(i) ! RGB順の表示。
LET c24bit=c24bit/256+c8bit(i)*BVAL("10000",16) ! BGR順の表示。
PLOT TEXT ,AT ix+2.5,iy+i+1.5 ,USING ">#######": BSTR$(c8bit(i),2)
NEXT i
PLOT TEXT ,AT ix+1.5,iy+i-2.5 : " "&STR$(c24bit)
PLOT TEXT ,AT ix+2.5,iy+i-2.5 : " "&right$("00000"&BSTR$(c24bit,16),6)
LET s=col
ELSE ! 同じ色の再クリックで消去
DRAW color_index
LET s=-1
END IF
LOOP

PICTURE color_index
SET TEXT BACKGROUND "TRANSPARENT" ! 文字の背景色設定=(透明)
FOR j=0 TO yp-1
FOR i=0 TO xp-1
LET c=j*xp+i
DRAW rect(c) WITH SHIFT(i,j)
PLOT TEXT ,AT i+0.5,j+0.5 : STR$(c)
NEXT i
NEXT j
END PICTURE

END

EXTERNAL PICTURE rect(c) ! 長方形の塗りつぶし
SET AREA COLOR c
PLOT AREA : 0,0;1,0;1,1;0,1
END PICTURE

    └"B"が上位桁のようです。 荒田浩二 2008/01/10 09:32:45  (修正1回)
     └おこられないかと、ひやひやしていましたの... SECOND 2008/01/10 22:51:58 
      └白石先生、お願いします。 SECOND 2008/01/11 06:05:14 
       └メモリ上でRGB順になります。 山中和義 2008/01/11 07:58:11 
        └ありがとうございました、直します。 SECOND 2008/01/11 08:52:51  (修正1回)

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。