ひのりさん、おはようございますー(*・ω・)ノそういえばおさげさんは高校に入るとコンタクトになるので、
メガネをかけているこの場面は中学校生活ということになりますね!
ついうっかり忘れてしまっておりました!(゚◇゚)
さてさて、大規模なグラデーション用のプログラムも作ってみました!
前回のとは別ファイルで保存するといいかと思います!
今回のは「現在」のパレットだけではなくて、
「全体」のパレットを変える仕様になっています!
なので、最初に「全体」の「取得」をすることで、
本来のパレットデータをメモ帳などに貼っておきましょう!
そうしないともとのパレットに戻せなくなってしまいますので;
前回は生成したパレットを「現在」にしてからセットしましたが、
今回は「全体」にしてからセットしましょう!
一時的にもとのパレットがなくなってしまいますが、
その分は退避させていたパレットをセットすれば復活します!
さて、以下はそのプログラムになりますー(*゚ー゚)
REM -- グラデーションパレット生成 --
INPUT "最初の色を入力(R,G,B)";R1,G1,B1
INPUT "最後の色を入力(R,G,B)";R2,G2,B2
INPUT "最初の色もパレットに含めますか(y/n)";F1$
INPUT "最後の色もパレットに含めますか(y/n)";F2$
INPUT "分割数を入力(標準は14)";DV
IF DV=0 THEN DV=14
IF F1$="Y" OR F1$="y" THEN FL=1
IF F2$="N" OR F2$="n" THEN FL2=1
RG=(R2-R1)/(DV-FL+FL2):GG=(G2-G1)/(DV-FL+FL2):BG=(B2-B1)/(DV-FL+FL2)
FOR I=1-FL TO DV-FL
IF J=0 THEN PRINT "!グラデ";K+1
J=J+1
RN=INT(R1+I*RG+0.5):GN=INT(G1+I*GG+0.5):BN=INT(B1+I*BG+0.5)
R$=HEX$(RN):G$=HEX$(GN):B$=HEX$(BN)
IF LEN(R$)=1 THEN R$="0"+R$
IF LEN(G$)=1 THEN G$="0"+G$
IF LEN(B$)=1 THEN B$="0"+B$
PRINT "#";R$;G$;B$
IF J=14 THEN J=0:K=K+1
NEXT I
PRINT "!Matrix"今回は14分割だけでなく100分割とかでも可能ですよ!
大規模なグラデーションを描きたいときなどにお役立てください!(`・ω・´)
ではでは!(*・ω・)ゝ