以下のコード (このスレッドから: How to use Delphi 2010's new WIC capability on Canon files? ) は、WIC イメージを BitMap に開きます。
ただし、WIC ピクセル値のダイナミック レンジが大きい場合、このコードは多くの情報を失います。これは、広いダイナミック レンジを、ビットマップ ピクセルが対応できる低い範囲にスケーリングする必要があるためです。
procedure TForm116.Button1Click(Sender: TObject);
var
WIC: TWICImage;
begin
WIC := TWICImage.Create;
try
WIC.LoadFromFile('MyFilename.raw');
Image1.Picture.Graphic.Assign(WIC);
finally
WIC.Free;
end;
end;
情報を失うことなく画像データにアクセスできるように、TWICImage から直接ピクセル値を読み取れるようにするサンプル コードを誰かに教えてもらえますか? 直接利用できない場合、おそらく RGB 値から計算できる各ピクセルの強度 (グレースケール) 値が必要ですか?
何かのようなもの:
var
PixelValue: Integer; // Grayscale
for Row := 0 to WIC.Width do
for Col := 0 to WIC.Height
PixelValue := WIC.GetPixelValue(Row, Col);