掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
1bitBmp->Buffer取り込み方法 (ID:23365)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
これで内容をコピーできましたよ。 procedure TForm1.Button1Click(Sender: TObject); var bmp1, bmp2: TBitmap; buff: array of byte; pLine: PByte; x, y, w, h: integer; begin bmp1 := TBitmap.Create; bmp1.LoadFromFile('c:\test.bmp'); Canvas.Draw(5, 5, bmp1); w := (bmp1.Width + 7) div 8; h := bmp1.Height; SetLength(buff, w * h); for y := 0 to h - 1 do begin pLine := bmp1.ScanLine[y]; for x := 0 to w do begin buff[x + y*w] := pLine^; inc(pLine); end; end; bmp2 := TBitmap.Create; bmp2.PixelFormat := pf1bit; bmp2.Width := bmp1.Width; bmp2.Height := bmp1.Height; for y := 0 to h - 1 do begin pLine := bmp2.ScanLine[y]; for x := 0 to w do begin pLine^ := buff[x + y*w]; inc(pLine); end; end; Canvas.Draw(5, h+10, bmp2); bmp1.Free; bmp2.Free; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.