-
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 目录操作范例:改变当前目录
Delphi 目录操作范例:改变当前目录,先获取当前的目录路径,然后改变这个目录路径,文件当前在此目录,那么如何修改文件路径呢?
procedure TForm1.Button1Click(Sender: TObject);
begin
try
chdir(Edit2.Text);
finally
getdir(0,result);
Edit2.Text := result;
end;
end;
源代码仅供参考。
- 2022-11-19 16:05:03下载
- 积分:1
-
Delphi 使播放的Flash随窗口大小改变
Delphi 使播放的Flash随窗口大小改变,也就是让Flash播放的窗口内容随着父窗口的大小而自动适应,把窗口拉大时,Flash画面也会跟着变大,让内容适应窗口大小的变化。
- 2022-05-31 21:57:49下载
- 积分:1
-
Delphi 应用程序背景与桌面融合在一起
Delphi 应用程序背景与桌面融合在一起,运行后,显示windows 桌面上的内容,显示壁纸,拖动窗口移动,桌面背景并不移动,好像是一个桌面相框一样,实现代码:
for i:=0 to ControlCount-1 do
if Controls[i] is TGraphicControl then
begin
//使TLabel组件不透明显示
Controls[i].perform(WM_PAINT, TLabel(Controls[i]).canvas.handle, 0);
end;
- 2022-02-02 23:31:59下载
- 积分:1
-
Delphi 显示文件的播放进度
Delphi 显示文件的播放进度,使用了Timer实现对进度的计算和显示。
- 2022-05-28 13:11:17下载
- 积分:1
-
Delphi 用获取路径的方法得到圆形窗体
Delphi 用获取路径的方法得到圆形窗体,制作实现一个非矩形窗口,可以说是一个不规则窗口了,圆形的窗口,标题栏、状态栏及窗口关闭等操作按钮均不邮了。圆形窗口的基本实现思路是根据路径创建不规则窗体,然后设置窗口为透明模式,部分代码如下:
dc:=self.Canvas.Handle;
BeginPath(dc);
//根据路径创建不规则窗体
SetBkMode(dc,TRANSPARENT);
//设置为透明模式
Ellipse(dc,20,20,220,220);
EndPath(dc);
region:=PathToRegion(dc);
SetWindowRgn(self.Handle,region,TRUE);
end;
- 2022-05-16 23:17:16下载
- 积分:1
-
Delphi演示UniCode编码、简体繁体互转的方法实现
Delphi演示如何实现UniCode编码、汉字的繁简互转功能,同时将字符转换为unicode码值(十六进制):
常用编码:
codepage=936 简体中文GBK
codepage=950 繁体中文BIG5
codepage=437 美国/加拿大英语
codepage=932 日文
codepage=949 韩文
codepage=866 俄文
codepage=65001 unicode UTF-8
本例子中仅使用了936、950,如果你要进行其他语言的编码转换,仅需相应改变其中的编码值即可。
- 2023-06-10 00:30:04下载
- 积分:1
-
Delphi 获取两个子字符串之间的字符个数
Delphi 获取两个子字符串之间的字符个数,也就是这个字符串由A/B/C三个字符组成,本例子是求A/C中间的所有字符串的个数,空格同样也包括在内。定义两个函数即可实现本功能:
Function TForm1.Strcount( s, s1, s2 : string ): integer;
var
i,j,slen : integer;
begin
i := pos( s1, s );
j := pos( s2, s );
slen := Length(s1);
if j >= i then
Result := j - i - slen
else
Result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
n : integer;
begin
n := Strcount(Edit1.Text,Edit2.Text,Edit3.Text);
showmessage(IntToStr(n));
end;
- 2022-01-26 07:45:23下载
- 积分:1
-
Delphi获取电脑CPU硬件型号名称
Delphi获取电脑CPU硬件型号名称,这个可能不准确,我是64位 I5 3470 CPU,获取出来的是统称,不是太准确,可能是我系统的问题。不过这个代码是前几年书中的代码,现在的硬件发展快,也有可能是代码的问题,运行效果如下。
本获取CPU名称是根据注册表的方法获取的。
- 2022-07-06 23:12:47下载
- 积分:1
-
Delphi获取和设置汉字输入法
Delphi 获取系统中已安装的中文输入法,判断是否在中文状态,若是则关闭它,切换半角和全角模式,切换中文标点模式和英文标点模式,并对输入法做相关设置。以下是相关代码:
procedure TForm1.closecid;
var
mycid:hkl;
begin
mycid:=GetKeyBoardLayOut(0);
if ImmIsIME(mycid) then
//判断是否在中文状态,若是则关闭它
immsimulateHotkey(handle,IME_CHotKey_IME_NonIME_Toggle);
end;
procedure TForm1.FormShow(Sender: TObject);
var
j:integer;
begin
for j:=0 to screen.imes.count-1 do
begin
//获取系统中已安装的中文输入法
ComBoBox1.Items.Add(screen.Imes.strings[j]);
end;
end;
- 2022-10-19 03:05:03下载
- 积分:1