如何去掉BMP的一种颜色?类似PhotoShop中的通道? ( 积分: 100 )

  • 主题发起人 主题发起人 _ccc
  • 开始时间 开始时间
C

_ccc

Unregistered / Unconfirmed
GUEST, unregistred user!
PhotoShop中可以去掉R或G或B任意一种颜色,如何用程序实现?
 
PhotoShop中可以去掉R或G或B任意一种颜色,如何用程序实现?
 
//下面的程序用于将图片中的蓝色擦除(过滤)
type
PColorArray = ^TColorArray;
TColorArray = array[0..32767] of TColor;

procedure TForm1.Button1Click(Sender: TObject);
var
x,y : Integer;
BitMap : TBitMap;
P : PColorArray;
begin
BitMap := TBitMap.create;
BitMap.PixelFormat:=pf32bit;
try
BitMap.LoadFromFile('未命名.BMP');
for y := 0 to BitMap.Height -1 do
begin
P := BitMap.ScanLine[y];
Edit1.Text := IntToStr(P[0]);
for x := 0 to BitMap.Width -1 do
P[x] := (P[x] or clBlue) xor clBlue;
end;
Canvas.Draw(0,0,BitMap);
finally
BitMap.Free;
end;
end;

 
楼上的方法可行。
 
接受答案了.
 
后退
顶部