• 如何获取图片中第一个像素的颜色值?


    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  
    

      

  • 相关阅读:
    链表相加
    Unity 摄像机跟随
    整数反转
    两数和
    频繁项集挖掘思路
    有关于二进制的乘法计算(原码一位乘)
    JAVA面向对象(下)
    JAVAAPI
    JAVA面向对象()上)
    JAVA基础第一章
  • 原文地址:https://www.cnblogs.com/qingsong/p/4033006.html
Copyright © 2020-2023  润新知