!更新、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回)