-
在Delphi中进行 YCrCb RGB 颜色值转换
在Delphi中进行 YCrCb RGB 颜色值转换,载入一张测试图片,右侧显示的转换后的颜色图像,文本框中显示的是各个转换过的颜色值。希望通过这个Delphi例子,帮你了解一下YCrCb向RGB颜色值的转换过程,转换方法和思路,本源码中则是具体的实战代码,请下载后研究。
- 2022-05-23 08:16:07下载
- 积分:1
-
Delphi获取BMP图片指定点RGB值
delphi获取图片指定点RGB颜色值,载入一张BMP图像,鼠标单击图像任意处,将获取该处的RGB颜色分量图。任何一种颜色都是由RGB分量值构成,获取这些分量值,就可以改变这些值,从而改变颜色,为程序的进一步处理提供基础保障,获取RGB颜色分量,相关代码如下:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
image1.Picture.LoadFromFile(OpenPicturedialog1.FileName);
Form1.Canvas.Draw(0,0,image1.Picture.Bitmap);
end;
end;
- 2023-09-03 19:00:03下载
- 积分:1
-
Delphi 将字符串中的任意字符转换成大写
Delphi 将字符串中的任意字符转换成大写,可将给定一串字符中指定的字符转换成大写,如示例运行效果所示,将字符串中的所有l字符变成大写的L。
- 2022-04-23 13:34:26下载
- 积分:1
-
Delphi生成立体字效果
Delphi生成立体字效果,在文字下面增加阴影效果,这个在PS软件中是一个常用的特效,用Delphi也可以实现这种原生效果,阴影大小和面积、角度在代码中可以设置,最终自定义的阴影效果如图所示,实现了一个不错的立体文字效果。
- 2023-07-03 14:00:03下载
- 积分:1
-
Delphi 实现图像热点功能
Delphi 实现图像热点功能,实现一张图片上不同形状区域的热点,定义椭圆形、四边形、三角形的区域变量的热点,相关代码如下:
var
thepoint:array [1..8] of tpoint;//存储多边形顶点坐标
count:integer;
pointnum:array [1..2] of integer;
begin
//四边形顶点坐标,首末点封闭
thepoint[1]:=point(135,99);
thepoint[2]:=point(105,183);
thepoint[3]:=point(129,201);
thepoint[4]:=point(188,92);
thepoint[5]:=point(135,99);
count:=5;//四边形顶点数目,首末点为一点
fourE_rgn:=CreatePolygonRgn(thepoint,count,WINDING);//生成四边形区域
elli_rgn:=CreateEllipticRgn(64,221,231,263);// 生成椭圆形区域
//第一个三角形顶点坐标
thepoint[1]:=point(118,67);
thepoint[2]:=point(32,28);
thepoint[3]:=point(17,90);
thepoint[4]:=point(118,67);
//第二个三角形顶点坐标
thepoint[5]:=point(155,44);
thepoint[6]:=point(202,91);
thepoint[7]:=point(277,44);
thepoint[8]:=point(155,44);
pointnum[1]:=4;//第一个三角形顶点数目
pointnum[2]:=4;//第二个三角形顶点数目
count:=2;//三角形数目
//生成由两个三角形构成的三角形区域
tri_rgn:=CreatePolyPolygonRgn(thepoint,pointnum,count,WINDING);
end;
- 2022-01-26 08:02:50下载
- 积分:1
-
Delphi 垂直交错显示效果
图片的垂直交错效果,Delphi 编写的图片垂直交错显示效果,之前就分享过这种效果,类似百叶窗的交替显示效果,可用于图片转场,不过本效果还有很多地方需要优化,当时是写给一本书,作为随书实例的,有兴趣的可参考,关于本功能的关键代码部分,请看以下代码:
newbmp:= TBitmap.Create;
newbmp.Width:=image1.Width;
newbmp.Height:=image1.Height;
bmpheight:=image1.Height;
bmpwidth:=image1.Width;
i:=0;
while i0 do
begin
newbmp.Canvas.CopyRect(Rect(0,j-1,bmpwidth,j),image1.Canvas,Rect(0,bmpheight-i+j-1,bmpwidth,bmpheight-i+j));
newbmp.Canvas.CopyRect(Rect(0,bmpheight-j-1,bmpwidth,bmpheight-j),image1.Canvas,Rect(0,i-j,bmpwidth,i-j+1));
j:=j-2;
Application.ProcessMessages;
end;
form1.Canvas.Draw(0,0,newbmp);
i:=i+2;
end;
newbmp.free;
- 2023-04-12 21:35:03下载
- 积分:1
-
Delphi版智能图片放大器
Delphi版智能图片放大器,用滑块改变放大倍率,向左滑,则放大位数变大,反之则变校打开程序后,鼠标在图片区域移动,即可把鼠标悬停区域的图像放大显示N倍,放大位数就是刚才提到的,滑块来调整的放大位数,部分代码可参考如下:
Const //定义放大的区域
dSide=50;//区域大小
var
sSide: Integer;//放大比例[1至100],1为最大100为缩小
msHide: Boolean;
OldX,OldY,NewX,NewY: integer;
Dest,Source: TRect;
{$R *.DFM}
Procedure TForm1.ImageFD(x,y,Side: Integer);//定义放大区域及放大过程
begin
sSide:=30; //初始化放大比例
msHide:=True;
//Canvas.CopyMode:=cmSrcCopy;
image1.Picture.Assign(image2.Picture);
end;
详细情况请下载源码后查看Unit1.pas文件。
- 2023-04-17 17:00:04下载
- 积分:1
-
取消窗体标题栏的关闭按钮-Delphi代码
Delphi 取消窗体标题栏的关闭按钮,也就是单击窗口右上角的关闭按钮,窗体并不会关闭,让关闭按钮失去了作用,用户可通过单击窗口中的自定义按钮来关闭窗口,这样就相当于取消了窗体标题栏中的关闭按钮。
- 2022-07-04 03:53:29下载
- 积分:1
-
Delphi IntToHex函数用法举例
关于IntToHex,在Delphi中使用频率也是挺高的,不过像我这种菜鸟,对IntToHex的具体用法仍是不太熟悉,后来看了这个小程序,了解了一些,分享给大家,特别是以下代码会加深你对IntToHex函数的用法理解。
procedure TForm1.Button1Click(Sender: TObject);
var
S:integer;
begin
S:=2147483647;
showmessage(inttoHex(s,8));
showmessage(inttoHex(s,10));
showmessage(inttoHex(s,16));
showmessage(inttoHex(s,32));
end;
- 2022-09-07 01:20:03下载
- 积分:1
-
在输入时按回车移动光标到一下文本框-Delphi示例
Delphi实现回车移动焦点的功能,当用户在输入时按回车键,将移动光标到一下文本框,这个功能我觉得可很好的提升软件的操作体验,为实现快捷输入近了一步。具体代码请参考如下:
begin
if Key = 13 then
begin
keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY,0); //按下
keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); //弹起
end;
end;
- 2022-08-21 20:36:32下载
- 积分:1