なんとなく、ふわっと・・

写真と画像処理関係とひとりごとをなんとなく書き溜めていきたい

TEST

2007-10-11 00:06:42 | その他
pre タグのテスト

function Contrast8(var bmp: TBitmap; midValue, factor: double): Boolean;
var
  w, h, x, y, i: integer;
  value: double;
  src: TBmpData8;
  d: array[0..255] of byte;
begin
  result := false;
  if bmp.PixelFormat <> pf8bit then exit;

  if (factor > 1) or (factor < 0) then exit;
  if (midValue < 50) or (midValue > 200) then exit;

  w := bmp.Width;
  h := bmp.Height;

  value := (1.0 + factor) * (1.0 + factor);

  for i := 0 to 255 do
    d[i] := AdjustByte((i - midValue) * value + midValue);


  src := TBmpData8.Create(bmp);

  for y := 0 to h-1 do
    for x := 0 to w-1 do
      src[x,y]^ := d[ src[x,y]^];

  src.Free;

  result := true;
end;



なるほど。
コード表示のために簡単なアプリをつくろう。

再投稿で不具合になる。これは不便だ。

Comment