ページ 2 / 2
またまたはやとちりでした
Posted: 2006年8月19日(土) 00:30
by よしき
長時間の検索の結果、グラフ化の前の画像があるファイルにあるのが発見されました。早とちり申し訳ございませんでした。
元の画像と同じファイルに保存するということなのでわざわざ保存場所の指定することも不要でした。
…ですがやっぱり疑問がのこります。先ほどの関数のどのあたりでファイルのパスを指定しているのですか?
Posted: 2006年8月19日(土) 02:45
by konisi
SaveBmp関数の、第一引数で保存するファイル名を指定します。
たまたま重なったんですかね?上書きしてしまったようです。
関数内のOpen文でファイルを開いています。じっくりと読んで行けば分かりますよ。
ビットマップとして保存する時、ビットマップファイルにはヘッダが付き、その部分で幅や高さ、使う色のモード(白黒とか256色とか)等を色々指定してやりますが、説明は面倒なので省略。
やや省略した形。もちろんコンパイルは出来ませんが。 [ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード: 全て選択
Sub SaveBmp(Dest As String,hDC As HDC,bx As Long,by As Long,x As Long,y As Long)(hWnd As HWND)
'変数の宣言をやる。省略。
'xかyが0ならウインドウの大きさを考えて自動的に画像の幅、高さを決定する。省略。
'ヘッダ内にファイルサイズを書き込む必要があるので、ファイルサイズの計算をしておく。省略。
'ヘッダを作る。省略。
'書き込み開始
'ファイルを簡易的に開く。
Open Dest As #1
'ビットマップ用のヘッダ(BMヘッダ)を書き込む。
Field #1,54
Put #1,1,FileHeader
'ファイルにビットマップを埋め込む準備
Field #1,1
X=55
'ビットマップそのものの書き込みはここから。
For I=y-1 To 0 Step -1
For J=0 To x-1
'指定の形式でファイルに書き込んでいく。
Next J
'形式上のつじつまあわせを行う。
Next I
'ファイルを閉じる。
Close #1
'EOS(End Of Sub)
End Sub
Re
Posted: 2006年8月19日(土) 17:44
by よしき
親切にありがとうございます。なんとなく(?)理解できました。
SaveBmp関数の第一引数は普段あまり使わない名前がよかったんですね。
見事に上書きしてました。(笑)