• 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 微软 说明
    PixelAlpha Alpha 像素数据包含没有进行过自左乘的 alpha 值。
    PixelCanonical Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道。
    PixelDontCare DontCare 没有指定像素格式。
    PixelExtended Extended 保留。
    PixelFormat16bppArgb1555 Format16bppArgb1555 像素格式为每像素 16 位。该颜色信息指定 32,768 种色调,其中 5 位为红色,5 位为绿色,5 位为蓝色,1 位为 alpha。
    PixelFormat16bppGrayScale  Format16bppGrayScale  像素格式为每像素 16 位。该颜色信息指定 65536 种灰色调。
    PixelFormat16bppRgb555 Format16bppRgb555 指定格式为每像素 16 位;红色、绿色和蓝色分量各使用 5 位。剩余的 1 位未使用。
    PixelFormat16bppRgb565 Format16bppRgb565 指定格式为每像素 16 位;红色分量使用 5 位,绿色分量使用 6 位,蓝色分量使用 5 位。
    PixelFormat1bppIndexed Format1bppIndexed 指定像素格式为每像素 1 位,并指定它使用索引颜色。因此颜色表中有两种颜色。
    PixelFormat24bppRgb Format24bppRgb 指定格式为每像素 24 位;红色、绿色和蓝色分量各使用 8 位。
    PixelFormat32bppArgb Format32bppArgb 指定格式为每像素 32 位;alpha、红色、绿色和蓝色分量各使用 8 位。
    PixelFormat32bppPArgb Format32bppPArgb 指定格式为每像素 32 位;alpha、红色、绿色和蓝色分量各使用 8 位。根据 alpha 分量,对红色、绿色和蓝色分量进行自左乘。
    PixelFormat32bppRgb Format32bppRgb 指定格式为每像素 32 位;红色、绿色和蓝色分量各使用 8 位。剩余的 8 位未使用。
    PixelFormat48bppRgb Format48bppRgb 指定格式为每像素 48 位;红色、绿色和蓝色分量各使用 16 位。
    PixelFormat4bppIndexed Format4bppIndexed 指定格式为每像素 4 位而且已创建索引。
    PixelFormat64bppArgb Format64bppArgb 指定格式为每像素 64 位;alpha、红色、绿色和蓝色分量各使用 16 位。
    PixelFormat64bppPArgb Format64bppPArgb 指定格式为每像素 64 位;alpha、红色、绿色和蓝色分量各使用 16 位。根据 alpha 分量,对红色、绿色和蓝色分量进行自左乘。
    PixelFormat8bppIndexed Format8bppIndexed 指定格式为每像素 8 位而且已创建索引。因此颜色表中有 256 种颜色。
    PixelGdi Gdi 像素数据包含 GDI 颜色。
    PixelIndexed Indexed 该像素数据包含颜色索引值,这意味着这些值是系统颜色表中颜色的索引,而不是单个颜色值。
    PixelMax Max 此枚举的最大值。
    PixelPAlpha PAlpha 像素格式包含自左乘的 alpha 值。
    PixelUndefined Undefined 未定义像素格式。


  • 相关阅读:
    __getattribute__()、__getattr__()、__setattr__()、__delattr__()
    Python: Catch multiple exceptions in one line (except block)
    Python中的__new__和__init__
    使用sphinx生成Python文档
    Windows下干活儿辅助软件
    Python的Descriptor和Property混用
    Solved: Qt Library LNK 2001 staticMetaObject error
    OS sysbench压力测试
    Oracle 数据库 sysbench 压力测试
    MySQL 数据库 Sysbench压力测试
  • 原文地址:https://www.cnblogs.com/del/p/1017612.html
Copyright © 2020-2023  润新知