zoukankan      html  css  js  c++  java
  • 如何获取图片中第一个像素的颜色值?

    unit Unit1;  
      
    interface  
      
    uses  
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
      Dialogs, StdCtrls;  
      
    type  
      TForm1 = class(TForm)  
        Button1: TButton;  
        Button2: TButton;  
        procedure Button1Click(Sender: TObject);  
        procedure Button2Click(Sender: TObject);  
      end;  
      
    var  
      Form1: TForm1;  
      
    implementation  
      
    {$R *.dfm}  
      
    const BmpPath = 'C:/Temp/Test.bmp'; {测试用图片}  
      
    {使用 Canvas.Pixels 属性}  
    procedure TForm1.Button1Click(Sender: TObject);  
    var  
      bit: TBitmap;  
      clr: TColor;  
    begin  
      bit := TBitmap.Create;  
      bit.LoadFromFile(BmpPath);      {载入图片}  
      clr := bit.Canvas.Pixels[0, 0]; {获取第一像素的颜色值}  
      ShowMessageFmt('$%.6x', [clr]); {显示为十六进制字符串看看}  
      //Self.Color := clr;            {可用窗体呈现一下}  
      bit.Free;  
    end;  
      
    {使用 API 函数 GetPixel}  
    procedure TForm1.Button2Click(Sender: TObject);  
    var  
      bit: TBitmap;  
      clr: TColor;  
    begin  
      bit := TBitmap.Create;  
      bit.LoadFromFile(BmpPath);               {载入图片}  
      clr := GetPixel(bit.Canvas.Handle, 0, 0);{获取第一像素的颜色值}  
      ShowMessageFmt('$%.6x', [clr]);          {显示为十六进制字符串看看}  
      //Self.Color := clr;                     {可用窗体呈现一下}  
      bit.Free;  
    end;  
      
    end  
    

      

  • 相关阅读:
    第一章 快速入门
    增量式PID控制算法
    第二章 变量和基本类型
    位置式PID和增量式PID区别?
    I2C
    Linux系统进程调用列表
    Linux下I/O模型
    Linux下多路复用接口
    新浪博客网页编辑器PHP版带有上传图片功能
    晕死!博客园把我搞晕了!
  • 原文地址:https://www.cnblogs.com/qingsong/p/4033006.html
Copyright © 2011-2022 走看看