登录
首页 » Delphi源码 » Delphi 图片颜色逐渐加深功能的实现

Delphi 图片颜色逐渐加深功能的实现

于 2022-03-23 发布 文件大小:225.56 kB
0 206
下载积分: 2 下载次数: 1

代码说明:

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;

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Delphi实现TdxDBTreeView节点全部展开或收拢
    本源码演示如何实现Delphi TdxDBTreeView节点全部展开或收拢功能,也就是大家熟悉的树形菜单节点的折叠或展开功能,在平时的使用中,树形节点是很常用的一个菜单功能,本例子的树形菜单节点功能读取自数据库,因此在测试前请连接好数据库。   //单击全部展开按钮   procedure TForm1.Button1Click(Sender: TObject);   begin    dxDBTreeView1.FullExpand;   end;    //单击全部收拢按钮   procedure TForm1.Button2Click(Sender: TObject);   begin    dxDBTreeView1.FullCollapse;   end;
    2022-01-26 05:17:01下载
    积分: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 将TDBGrid导入到Excel表中附数据库
    Delphi7.0将TDBGrid导入到Excel表中,测试程序先连接好SQLSERVER数据库,并将数据读取到TDBGrid中,然后再将数据从TDBGrid导入到Excel表中,为了测试方便,SQLSERVER数据库文件已经附在源码包中。以下代码片断会有参考意义,完整源码请下载:   //将TDBGrid表中的标题插入到Excel表中的首行   for I:=0 to DbName.Columns.Count-1 do   begin    if DbName.Columns[i].Visible=False then    Continue;    Page.Cells[j,i+1] := DbName.Columns[i].Title.Caption;    Page.Cells[j,i+1].Font.Bold := True; //设置字体为粗体   end;   Inc(j); //Excel表中的下一行   First; //将指针返回到TDBGrid表中数据的首行   while not Eof do   begin    for i:=0 to DbName.Columns.Count-1 do    begin    if DbName.Columns[i].Visible=False then    Continue;    //将指定行中每列的数据,添加到Excel表中    Page.Cells[j,i+1] := trim(DbName.DataSource.DataSet.Fieldbyname(DbName.Columns[i].FieldName).asstring);    end;    Inc(j); //Excel表中的下一行    Next; //TDBGrid表中的下一条记录   end;
    2022-06-29 23:05:07下载
    积分:1
  • Delphi为程序添加esc退出程序的功能
    本源码演示Delphi如何用ESC键退出程序,为程序添加esc退出程序的功能,一般情况下,关闭程序都是通过ALT+f4或者直接点击窗口右上角的叉子关闭,不过我们也可以为程序添加通过键盘按下ESC键来关闭程序,本源码就是演示了此种功能,当用户按下ESC时,窗口即关闭,程序退出。
    2022-07-21 22:03:47下载
    积分:1
  • Delphi 快速查询文件
    Delphi 快速查询文件,比较老的代码,搜索文件的地址需要手工输入哦,查询的结果会显示在空白处。返回查询的代码如下:   List := TStringList.Create;//创建字符传列表   try    spec := ExtractFileName(filespec);//返回指定文件名    RFindFile(ExtractFilePath(filespec));//返回指定路径    Result := list;//函数返回值是List;
    2022-03-19 10:17:26下载
    积分:1
  • Delphi 多帧动画播放
    Delphi 多帧动画播放,Delphi将多幅连续的BMP图像显示在一起,形成了动画的效果,类似于GIF的类型动画。每一张图片都是一帧,将帧快速的连起来,就形成了动画效果。
    2023-07-24 05:15:03下载
    积分: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判断双字节字符的例子
    Delphi判断双字节,用法简单,在窗口输入框中输入字符串,单击按钮即可,程序会判断出是否包含有双字节字符,判断方法请看下边的代码段:   s := Edit1.Text;   i := 0;   while i  begin    if (ByteType(S,i) mbSingleByte) then    begin    s1 := s1+ copy(s,i,2)+;    i := i+2;    end    else    i:= i+1;   end;   label2.Caption := trim(s1);
    2022-07-24 15:06:09下载
    积分:1
  • 在Windows7 中调用系统的日期时间设置窗口(Delphi)
    Delphi在Windows7 中调用系统的日期时间设置窗口,在Delphi程序中,调用Windows中的指定窗口,本例是介绍在Windows7环境下调用系统的日期时间设置窗口,即控制面板中的日期时间设置面板,在Windows XP中同样适用,win8或win10下未做测试。
    2023-08-01 17:35:04下载
    积分:1
  • Delphi 鼠标双击TStatusBar时判断是哪一个panels
    Delphi 鼠标双击TStatusBar时判断是哪一个panels,这个是把窗口的状态栏分隔,每个隔断中显示不同的内容,用鼠标双击不同的隔断,程序将判断用户点击了哪个隔断,并获取到该栏中的文字内容显示出来。
    2023-02-09 01:20:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载