!更新、COLOR 色指標チェッカー5 SECOND 2008/01/07 22:16:38 (修正2回) └似たようなものですが、以前作りました。 荒田浩二 2008/01/09 02:02:14
Re: !更新、COLOR 色指標チェッカー5 |
返事を書く ノートメニュー |
荒田浩二 <knrztrhoel> 2008/01/09 02:02:14 | |
似たようなものですが、以前作りました。
情報を表示させたい色をクリック。再クリックで消去。右クリックで終了。 左は COLOR MODE が "REGULAR" の色指標とR,G,Bの強度。 中央は COLOR MODE が "NATIVE" の時の色指標と色強度を255倍した整数。 右は、それを16進,2進表現したものです。 REM ** 色情報 ** DECLARE EXTERNAL PICTURE rect DECLARE FUNCTION regular_to_native 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 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 LOOP UNTIL left=1 OR right=1 IF right=1 THEN STOP ! 右クリックで終了 LET col=INT(y)*xp+INT(x) IF col<>s THEN DRAW rect(col) WITH SCALE(2/3,8)*SHIFT(xp/2-7/3,yp/2-4) DRAW rect(col) WITH SCALE(2/3,8)*SHIFT(xp/2-1/3,yp/2-4) DRAW rect(col) WITH SCALE(2/3,8)*SHIFT(xp/2+5/3,yp/2-4) PLOT TEXT ,AT xp/2-2,yp/2-4+0.5 : STR$(col) ASK COLOR MIX(col) cm(1),cm(2),cm(3) ! R,G,B FOR i=1 TO 3 PLOT TEXT ,AT xp/2-2,yp/2+i+0.5 ,USING " # <.####": cn$(i),STR$(ROUND(cm(i),4)) LET c8bit(i)=ROUND((2^8-1)*cm(i),0) PLOT TEXT ,AT xp/2,yp/2+i+0.5 ,USING "# >##": cn$(i),STR$(c8bit(i)) LET c24bit=c24bit+2^(8*(i-1))*c8bit(i) PLOT TEXT ,AT xp/2+2,yp/2+i+0.5 ,USING ">#######": BSTR$(c8bit(i),2) NEXT i PLOT TEXT ,AT xp/2,yp/2-4+0.5 : STR$(c24bit) ! regular_to_native(col) PLOT TEXT ,AT xp/2+2,yp/2-4+0.5 : BSTR$(c24bit,16) LET c24bit=0 LET s=col ELSE ! 同じ色の再クリックで消去 DRAW color_index LET s=-1 END IF LOOP PICTURE color_index 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 FUNCTION regular_to_native(c) ASK COLOR MIX(c) fr,fg,fb LET regular_to_native=ROUND((2^8-1)*fr)+2^8*ROUND((2^8-1)*fg)+2^16*ROUND((2^8-1)*fb) END FUNCTION END EXTERNAL PICTURE rect(c) ! 長方形の塗りつぶし SET AREA COLOR c PLOT AREA : 0,0;1,0;1,1;0,1 END PICTURE |
└!面白いプログラムで、イジッテミマシタ、勝... SECOND 2008/01/09 08:33:37 (修正5回) └"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回)