delphi 颜色选取


本文整理自网络,侵删。

 本例效果图:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

const
TargetColor: TColor = clRed;
var
SeedColor: TColor;
x1,y1: Integer;
pic: TPicture;

procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.AutoSize := True;
Image1.Picture.LoadFromFile('c:\temp\test.bmp');
x1 := Image1.Left;
y1 := Image1.Top;
pic := Image1.Picture;
Button1.Caption := '恢复';
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
w,h: Integer;
ImgHdc: HDC;
begin
ImgHdc := Image1.Canvas.Handle;
SeedColor := GetPixel(ImgHdc, X,Y);

for w := 0 to Image1.Width-1 do
for h := 0 to Image1.Height-1 do
if GetPixel(ImgHdc, w,h)=SeedColor then
SetPixelV(Canvas.Handle, x1+w, y1+h, TargetColor);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture := pic;
end;

end.

相关阅读 >>

Delphi rs232c串行通讯接口的应用

Delphi 中使长循环有响应

Delphi打开"我的电脑"等特殊文件夹

Delphi下遍历文件夹下所有文件的递归算法

Delphi 获取系统启动文件夹路径

Delphi xe5 json与Delphi object的互换

Delphi 采用 tidhttp 访问 https 的网站,采用 tidtcpclient 访问 https 的网站

Delphi 新建文件 复制文件 重命名文件名时 文件存在自动重命名

Delphi列表控件tlistview定位到某一行

Delphi跨平台检测网络连接状态

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...