用delphi实现将彩色位图另存为单色位图!实现结果跟windows自带的画图软件一样。

解决方案 »

  1.   

    procedure TForm1.Button10Click(Sender: TObject);
    begin
            image1.Picture.LoadFromFile('d:\test.bmp');
            image1.Picture.Bitmap.Monochrome := True;
            image1.Picture.SaveToFile('d:\test1.bmp');
    end;
      

  2.   

    procedure TForm1.Button10Click(Sender: TObject);
    var
            mJpg: TJpegImage;
            mBit: TBitmap;
    begin
            mJpg := TJpegImage.Create;
            mBit := TBitmap.Create;
            mJpg.LoadFromFile('d:\test.jpg');
            mBit.Assign(mJpg);
            Image1.Picture.Bitmap.Assign(mBit);
            Application.ProcessMessages;
            sleep(1000);
            mJpg.Grayscale := True;
            mBit.Assign(mJpg);
            Image1.Picture.Bitmap.Assign(mBit);
    end;
      

  3.   

    最后记得把mJpg和mBit给free了哈