旧日記 http://blog.good-day.net/~tani/diary/ から、こっちへ本格的に移転中。
本ページは谷 列樹(たに つらき)の備忘録です。
実在の団体・人物とは関係ないと思います。
2012年3月23日金曜日
ooo basic (libreoffice basic) でbitmap画像作成
以下みたいな感じで256 * 256ピクセルのbitmap画像が作成できた。
内容は泥臭いバイナリ処理だけど、RGBデータの配列とかあるなら、Drawのマクロとか使うよりスマートかも。
Dim ci As Integer, cl As Long
sImagePath = "C:\Documents and Settings\ttani\My Documents\test2.bmp"
Open sImagePath For Binary As 1
Put 1, 1, "BM"
cl = 54 + 256 * 256 * 3 : Put 1, 3, cl
ci = 0 : Put 1, 7, ci
ci = 0 : Put 1, 9, ci
cl = 54 : Put 1, 11, cl
cl = 40 : Put 1, 15, cl
cl = 256 : Put 1, 19, cl
cl = 256 : Put 1, 23, cl
ci = 1 : Put 1, 27, ci
ci = 24 : Put 1, 29, ci
cl = 0 : Put 1, 31, cl
cl = 0 : Put 1, 35, cl
cl = 0 : Put 1, 39, cl
cl = 0 : Put 1, 43, cl
cl = 0 : Put 1, 47, cl
cl = 0 : Put 1, 51, cl
Dim aData(256 * 256 * 3) As Byte
Dim counter As Long
For i = 0 To 255
For j = 0 To 255
aData(counter) = i
counter = counter + 1
aData(counter) = j
counter = counter + 1
aData(counter) = 255
counter = counter + 1
Next j
Next i
For i = 0 To Ubound(aData()) - 1
ci = aData(i) : Put 1, 55 + i, ci
Next i
Close 1
登録:
投稿 (Atom)