GDI+ 学习记录(28): 图像颜色的数据格式 - PixelFormat

//指定位图颜色
var
  g,gbit: TGPGraphics;
  bit1,bit2: TGPBitmap;
  sb: TGPSolidBrush;
begin
  //Self.Color := clWhite;
  g := TGPGraphics.Create(Canvas.Handle);
  sb := TGPSolidBrush.Create(MakeColor(255,0,0)); {画刷为红色}

  bit1 := TGPBitmap.Create(200, 32, PixelFormat32bppARGB);   {指定为 32 位颜色}
  bit2 := TGPBitmap.Create(200, 32, PixelFormat1bppIndexed); {只有两种颜色}

  gbit := TGPGraphics.Create(bit1);
  gbit.FillRectangle(sb, 0, 0, 200, 32);
  g.DrawImage(bit1, 11, 11, bit1.GetWidth, bit1.GetHeight); {画出来是红色}

  gbit := TGPGraphics.Create(bit2);
  gbit.FillRectangle(sb, 0, 0, 200, 32);
  g.DrawImage(bit2, 11, 100, bit2.GetWidth, bit2.GetHeight); {画出来是黑色, 它只有黑白两色}

  sb.Free;
  bit1.Free;
  bit2.Free;
  gbit.Free;
  g.Free;
end;

 
 
 
 
 

 

 

  
PixelFormat: (指定图像中每个像素的颜色数据的格式)

Delphi微软说明
PixelAlphaAlpha像素数据包含没有进行过自左乘的 alpha 值。
PixelCanonicalCanonical默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道。
PixelDontCareDontCare没有指定像素格式。
PixelExtendedExtended保留。
PixelFormat16bppArgb1555Format16bppArgb1555像素格式为每像素 16 位。该颜色信息指定 32,768 种色调,其中 5 位为红色,5 位为绿色,5 位为蓝色,1 位为 alpha。
PixelFormat16bppGrayScale Format16bppGrayScale 像素格式为每像素 16 位。该颜色信息指定 65536 种灰色调。
PixelFormat16bppRgb555Format16bppRgb555指定格式为每像素 16 位;红色、绿色和蓝色分量各使用 5 位。剩余的 1 位未使用。
PixelFormat16bppRgb565Format16bppRgb565指定格式为每像素 16 位;红色分量使用 5 位,绿色分量使用 6 位,蓝色分量使用 5 位。
PixelFormat1bppIndexedFormat1bppIndexed指定像素格式为每像素 1 位,并指定它使用索引颜色。因此颜色表中有两种颜色。
PixelFormat24bppRgbFormat24bppRgb指定格式为每像素 24 位;红色、绿色和蓝色分量各使用 8 位。
PixelFormat32bppArgbFormat32bppArgb指定格式为每像素 32 位;alpha、红色、绿色和蓝色分量各使用 8 位。
PixelFormat32bppPArgbFormat32bppPArgb指定格式为每像素 32 位;alpha、红色、绿色和蓝色分量各使用 8 位。根据 alpha 分量,对红色、绿色和蓝色分量进行自左乘。
PixelFormat32bppRgbFormat32bppRgb指定格式为每像素 32 位;红色、绿色和蓝色分量各使用 8 位。剩余的 8 位未使用。
PixelFormat48bppRgbFormat48bppRgb指定格式为每像素 48 位;红色、绿色和蓝色分量各使用 16 位。
PixelFormat4bppIndexedFormat4bppIndexed指定格式为每像素 4 位而且已创建索引。
PixelFormat64bppArgbFormat64bppArgb指定格式为每像素 64 位;alpha、红色、绿色和蓝色分量各使用 16 位。
PixelFormat64bppPArgbFormat64bppPArgb指定格式为每像素 64 位;alpha、红色、绿色和蓝色分量各使用 16 位。根据 alpha 分量,对红色、绿色和蓝色分量进行自左乘。
PixelFormat8bppIndexedFormat8bppIndexed指定格式为每像素 8 位而且已创建索引。因此颜色表中有 256 种颜色。
PixelGdiGdi像素数据包含 GDI 颜色。
PixelIndexedIndexed该像素数据包含颜色索引值,这意味着这些值是系统颜色表中颜色的索引,而不是单个颜色值。
PixelMaxMax此枚举的最大值。
PixelPAlphaPAlpha像素格式包含自左乘的 alpha 值。
PixelUndefinedUndefined未定义像素格式。


转载于:https://my.oschina.net/hermer/blog/319802

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值