-
Delphi 图片颜色逐渐加深功能的实现
Delphi演示如何将一张图片的颜色加深,类似于调整对比度,不过本效果不加入了渐变加深的动画效果,按住按钮图片一直变暗下去,要知空间,你可看下以下代码:
Bitmap:=image1.Picture.Bitmap;
image1.Height:= Bitmap.Height;
image1.Width:= Bitmap.Width;
for i:=0 to 255 do
begin
sleep(10);
for y:=0 to Bitmap.Height-1 do
begin
pixcolo:=Bitmap.Scanline[y]; //扫描每行像素颜色
for x:=0 to ((Bitmap.Width*3)-1) do
//递减颜色值,不同的递减值可改变不同的速度
if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);
end;
Image1.Canvas.Draw(0,0,Bitmap);
Application.ProcessMessages; //让Application去处理消息队伍中的消息
end;
- 2022-03-23 16:34:19下载
- 积分:1
-
Delphi 单击StringGrid列进行排序
Delphi 单击StringGrid列进行排序,StringGrid行的任意列单击,就会重新排序一次,排序规则可以自己定义,这种排序功能可有效提升StringGrid显示数据的易用性,增强其功能,提升用户体验,本例子源代码相当简单,对学习者也有很好的帮助作用。参见以下代码:
begin
if Button = mbRight then Exit;
TStringGrid(Sender).MouseToCell(X, Y, vCol, vRow);
if (vRow < 0) or (vRow >= TStringGrid(Sender).FixedRows) then Exit;
StringGridRowSort(TStringGrid(Sender), vCol, vOldCol = vCol);
if vOldCol = vCol then
vOldCol := - vOldCol
else
vOldCol := vCol;
end;
- 2022-05-29 23:30:47下载
- 积分:1
-
Delphi 7.0 After提取字符串中指定子字符串后的字符串
Delphi 7.0 提取字符串中指定子字符串后的字符串,这个平时在字符处理时候使用几率也挺高的,获取指定字符串后面的字符串,比如获取扩展名等也可以用此方法,本例中要用到After函数,测试时,当单击按钮时,执行以下代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit3.Text := After(Edit2.Text,Edit1.Text);
end;
end.
- 2022-03-28 10:50:27下载
- 积分:1
-
Delphi 使用API函数拔号
Delphi 使用API函数拔号,拨号程序,基于api的方法实现,有兴趣下载源码参考一番。
- 2022-01-26 01:52:58下载
- 积分:1
-
Delphi Tinifile创建INI文件的范例
Delphi 创建INI文件,使用了Tinifile.Create来创建一个指定格式的INI文件,作为程序的配置文件,运行程序时读入文件中的内容。ini文件作为配置文件,相信大家已经不陌生了,对于Delphi操作新手来说,源代码有很好的学习参考作用。通过本源码你可以了解到写文件对象中WriteBool、WriteFloat、WriteDate、WriteTime、WriteInteger、WriteString等众多字段类型写入的用法。
- 2022-03-22 10:38:54下载
- 积分:1
-
Delphi 修改网络设置DNS地址
Delphi 修改网络设置DNS地址,这个修改DNS程序是通过修改注册表的方法来修改。修改前先获取到系统安装的网卡信息,由用户指定待修改的新DNS地址,输入地址框,单击“修改”按钮即可完成修改。因此通过本程序,你可以了解许多注册表方面的操作技巧,以及网络设置相关知识。
- 2022-02-14 09:59:16下载
- 积分: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 多帧动画播放,Delphi将多幅连续的BMP图像显示在一起,形成了动画的效果,类似于GIF的类型动画。每一张图片都是一帧,将帧快速的连起来,就形成了动画效果。
- 2023-07-24 05:15:03下载
- 积分:1
-
Delphi 定制自己的幽灵程序
Delphi 定制自己的幽灵程序,这个程序在Windows托盘处显示图标,而且退出后在进程中仍会运行,像幽灵一样,托盘处可右键弹出菜单,本程序主要是图标和菜单的一些操作,属于UI界面的范畴吧,这是我个人认为的,部分代码摘录:
NormalIcon,DisabledIcon:TIcon;
//正常和失效两种情况下的图标
Status:Boolean;
//标志"允许使用"还是"禁止使用"
procedure InstallIcon;
procedure ChangeIcon(s:Boolean);
procedure UnInstallIcon;
procedure IconOnClick(var message:TMessage); message MI_ICONEVENT;
//捕捉自定义消息MI_ICONEVENT的过程IconOnClick的声明
- 2023-04-07 01:50:03下载
- 积分:1
-
Delphi 演示0~N位数的任意组合
Delphi 数列的排列组合一例,演示0~N位数的任意组合,组合的数字在0~5之间,需要输入1~6整数,排列结果会显示在文本框组件中。要点代码如下:
ssList := TStringList.Create;
try
if (nBase < 1) then
begin
end
else
begin
if (sList.Count = 0) then
begin
for nIdx := 0 to num-1 do
ssList.Add(a[nIdx]);
end
else
begin
for nIdx := 0 to num-1 do
for nSidx := 0 to sList.Count-1 do
if (Pos(a[nIdx], sList.Strings[nSidx]) = 0) then
ssList.Add(a[nIdx]+sList.Strings[nSidx]);
end;
Combine(nBase-1, ssList);
end;
if ssList.Count > 0 then
begin
sList.Clear;
sList.Text := ssList.Text;sslist.Count
end;
finally
ssList.Free;
end;
- 2022-04-29 16:59:03下载
- 积分:1