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

摘要:
此格式指定24位颜色深度和一个8位alpha通道。该颜色信息指定65536种灰色调。剩余的1位未使用。PixelFormat16bppRgb565Format16bppRgb565指定格式为每像素16位;红色分量使用5位,绿色分量使用6位,蓝色分量使用5位。PixelFormat8bppIndexedFormat8bppIndexed指定格式为每像素8位而且已创建索引。因此颜色表中有256种颜色。PixelGdiGdi像素数据包含GDI颜色。PixelMaxMax此枚举的最大值。
//指定位图颜色
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。
PixelFormat16bppGrayScaleFormat16bppGrayScale像素格式为每像素 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未定义像素格式。


免责声明:文章转载自《GDI+ 学习记录(28): 图像颜色的数据格式 PixelFormat》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇EasyUi datagrid列表增加复选框sql注入100种姿势过waf(二):过安全狗下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

matlab中imread 从图形文件读取图像

来源:https://ww2.mathworks.cn/help/matlab/ref/imread.html?searchHighlight=imread&s_tid=doc_srchtitle imread 从图形文件读取图像 全页折叠 语法 A = imread(filename) A = imread(filename,fmt) A...

pythonchallenge(七)

  转眼间又一个月没有逛博客园,明显的感觉到自己的代码能力变弱,前两周搞项目去了,只是形式上面的答辩而已,并没有涉及到代码层面,也就玩了一下验证码,没有识别玩出校器网页的验证码;转眼间又是各种考试,所幸,考试进入尾声,今天可以玩玩pythonchanllenge,一周没继续闯关,明显感觉到自己的智商余额不足,直接上题: http://www.pythonc...

iOS适配机型常用宏以及机型尺寸备注

关于物理和逻辑分辨率再整理一下,虽然并不关心太多的硬件原理,但是还是留个地方方便查阅吧。 1、代码 #pragma mark - 判断机型 /* 设备是否为iPhone4、iPhone4S (1)逻辑分辨率(point):320x480 (2)物理分辨率(pixel,像素):640x1136 (3)缩放因子 :@2x (4)PPI(像素密度):...

「转」python数字图像处理(18):高级形态学处理

python数字图像处理(18):高级形态学处理  形态学处理,除了最基本的膨胀、腐蚀、开/闭运算、黑/白帽处理外,还有一些更高级的运用,如凸包,连通区域标记,删除小块区域等。 1、凸包 凸包是指一个凸多边形,这个凸多边形将图片中所有的白色像素点都包含在内。 函数为: skimage.morphology.convex_hull_image(image)...

目标检测的图像特征提取之(一)HOG特征

1、HOG特征:        方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进...

图像亮度调整

在RGB色彩空间进行亮度图像亮度调整的方法步骤: 1)计算像素在R、G、B三个分量上的平均值 2)对三个平均值分别乘以对应的亮度系数brightness,默认为1则表示亮度不变,大于1 表示亮度提高,小于1 表示亮度变暗 3)对每个像素值在R、G、B上的分量,首先减去第一步计算出来的平均值,然后再加上第二步的计算结果。 Pnew = Pold +(brig...