我想查找一个bmp图形中是否有$FFFFFF颜色,如何来判断呢?

解决方案 »

  1.   

    没做过。
    不过觉得一个一个像素判断应该可以了吧??
    好像效率是低了点哈!找到第一个$FFFFFF的像素点则返回成功,退出循环!
      

  2.   

    function bmpChange(var SrcBmp:TBitmap) : boolean;
    var
      i, j: integer;
      SrcRGB : pRGBTriple;
    begin
      result:=false;
      for i := 0 to SrcBmp.Height - 1 do
      begin
        SrcRGB := SrcBmp.ScanLine[i];
        for j := 0 to SrcBmp.Width - 1 do
        begin
          if (SrcRGB.rgbtRed = $ff) and  (SrcRGB.rgbtGreen =$ff) and  (SrcRGB.rgbtBlue = $ff ) then
          result:=true;
        end
      end;end;
      

  3.   

    function TForm1.bmpChange(SrcBmp:TBitmap) : boolean;
    var
      i, j: integer;
      SrcRGB : pRGBTriple;
    begin
      result:=false;
      for i := 0 to SrcBmp.Height - 1 do
      begin
        SrcRGB := SrcBmp.ScanLine[i];
        for j := 0 to SrcBmp.Width - 1 do
        begin
          if (SrcRGB.rgbtRed = $ff) and  (SrcRGB.rgbtGreen =$ff) and  (SrcRGB.rgbtBlue = $ff ) then
          result:=true;
        end
      end;end;procedure TForm1.Button1Click(Sender: TObject);
    begin if bmpChange(Image1.Picture.Bitmap) then
     showmessage('找到了');
    end;
      

  4.   

    function bmpChange(var SrcBmp:TBitmap) : boolean;
    是函数function TForm1.bmpChange(SrcBmp:TBitmap) : boolean;
    是我测试的代码,测试通过