随笔 - 2146  文章 - 97 评论 - 11767 trackbacks - 253


1、判断位图的像素格式:
var
  bit: TBitmap;
  pix: TPixelFormat;
  s: string;
begin
  bit := TBitmap.Create;
  bit.LoadFromFile('c:\temp\test.bmp'); //位图路径

  pix := bit.PixelFormat;
  s := '';
  case pix of
    pfDevice: s := 'Device'; {设备支持的像素格式}
    pf1bit:   s := '1bit';
    pf4bit:   s := '4bit';
    pf8bit:   s := '8bit';
    pf15bit:  s := '15bit';
    pf16bit:  s := '16bit';
    pf24bit:  s := '24bit';
    pf32bit:  s := '32bit';
    pfCustom: s := 'Custom';  {其他格式}
  end;
  ShowMessage(s);

  bit.Free;
end;


2、位图的像素格式转换:
var
  bit: TBitmap;
begin
  bit := TBitmap.Create;
  bit.LoadFromFile('c:\temp\test.bmp');
  bit.PixelFormat := pf4bit;
  bit.SaveToFile('c:\temp\test2.bmp');
  bit.Free;
end;


3、按指定的像素格式保存位图:
var
  bit: TBitmap;
begin
  bit := Self.GetFormImage;  //把窗体客户区获取为图像, 无须 bit := TBitmap.Create;
  bit.PixelFormat := pf1bit;
  bit.SaveToFile('c:\temp\test.bmp');
  bit.Free; //但要释放
end;

posted on 2008-12-01 14:08  万一  阅读(...)  评论(...编辑  收藏