N88-BASICでBMP (1回目)

2024/1/12(金)
N88-BASICでBMP (1回目)
 
16色(4bits)bmpファイルの読込み
 
■ BMPファイルフォーマット
▼ ファイルヘッダ (14bytes)
00h (2bytes) ファイルタイプ "BM"
02h (4bytes) ファイルサイズ(bytes)
06h (2bytes×2) 予約領域(常に0)
0Ah (4bytes) (ファイル+情報)ヘッダサイズ(bytes)
▼ 情報ヘッダ (40bytes)
0Eh (4bytes) 情報ヘッダサイズ(bytes)
12h (4bytes) 画像の幅 (pixels)
16h (4bytes) 画像の高さ(pixels)(正:下から上,負:上から下)
1Ah (2bytes) プレーン数(常に1)
1Ch (2bytes) 1画素のビット数(bits)
1Eh (4bytes) 圧縮形式(0:非圧縮、その他:圧縮形式)
22h (4bytes) 画像サイズ(bytes)
26h (4bytes) 横画素数(pixels/m)(通常0)
2Ah (4bytes) 縦画素数(pixels/m)(通常0)
2Eh (4bytes) パレット数(個)
32h (4bytes) 重要パレットインデックス(番)(通常0)
▼ パレットBGRX
36h ~ (4bytes×パレット数)
▼ 画像
36h + 4bytes×パレット数 ~
画像の幅        = W(pixels)
画像の高さ       = H(pixels)
1画素のビット数 = B(bits)として
X = W × B / 8
1行(bytes) = INT((X + 3) / 4)
(4bytes単位となる)
画像データ(bytes) = 1行のbytes × |H|
 
 
■ 動作環境
PC-9801(16色対応)のN88-BASIC(86)
VL,NL-BASIC(Alt+6を押して高速化しておいて下さい)
 
 
■ 動作
ファイル名(.bmpは省略)を入力すると
16色(4bits)bmpファイルを読込み表示します
 
 
■ Alt+6のメッセージを消す
1090 N88 = 2 '--- 1:メッセージ無 2:メッセージ有
PC-9801の場合 N88 = 1とするとAlt+6が非表示になります
 
 
■ おまけ(bits4.bmp)
https://ulprojectmail.blogspot.com/2021/09/n88-basic256.html
N88-BASIC(256色)でレイトレーシング
の ray201.bas の
1490 A = 4 を
1490 A = 1 に変更し
NL-BASICで(Alt+6で高速化して)実行
Alt+oでグラフィック画面を
NLBasic/NLbasic01prn.bmp(フルカラー)に保存し
これを以下のツールで
bits4.bmp (4bits 16色)
に変換したものを添付しています
 
Vector 様
https://www.vector.co.jp/soft/dl/win95/art/se270031.html
Swell(サムネイル表示が可能なエクスプローラ風画像ビューワ)
BMPファイルの変換(4,8,16,24bits)が出来るWindows用ツールを
ダウンロードできます(インストール不要)
 
■ その他
MAG、BMP変換ツールなどへのリンクです
以下からリンクを選んで下さい
https://ulprojectmail.blogspot.com
 
 
VL,NL-BASICとdlg~.zip(bmp001.bas, bits4.bmp)は
以下のリンクからダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい





 

このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)