掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLLでBmpのサイズとピクセル列を引き渡すには? (ID:8660)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DLLの中身を以下に示します。 library test1; uses Windows,Classes,Graphics,jpeg; function load(fn:PChar):PInteger;export;stdcall; var jpg:TJpegImage; bmp:TBitmap; wbmp:TBitmap; sn:PChar; p:PInteger; i:Integer; begin jpg:=TJpegImage.Create; bmp:=TBitmap.Create; jpg.LoadFromFile(fn); bmp.Assign(jpg); //bmp.SaveToFile('C:\jpg2bmp.bmp'); wbmp:=TBitmap.Create; // 作業用ビットマップ作成 wbmp.Width:=bmp.Width; wbmp.Height:=bmp.Height; wbmp.Canvas.Draw(0,0,bmp); //16bitのBMP画像を表示させたい。 p:=PInteger(GlobalAlloc(GPTR,wbmp.width*bmp.height*2)); for i:=0 to wbmp.height-1 do begin CopyMemory(p,wbmp.scanLine[(bmp.height-1)-i],bmp.width*2); inc(p,wbmp.width); end; jpg.free; bmp.free; load:=p; end; exports load name 'load'; begin end. こんな感じで作りました。問題は引渡しパラメータ(上記でいうp)がピクセル列 と幅と高さで引き渡すためにはどうすればよいでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.