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

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

于 2022-03-23 发布 文件大小:225.56 kB
0 207
下载积分: 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 播放指定avi-mid-wav文件
    Delphi 播放指定avi-mid-wav文件,这几种都是音频格式,因此这个可以说是播放音频文件的例子,控制面板中包括了常用的播放控制按钮,在此基础上,可写出一个Delphi音乐播放器,当然本源码比较早了,适合学习一些简单的Delphi音频编程技巧。   procedure TForm1.N2Click(Sender: TObject);   begin    if OpenDialog1.Execute then    begin    with MediaPlayer1 do    begin    Filename := OpenDialog1.FileName ;    Open;    DisPlayrect := Rect(1,1,Panel2.Width ,Panel2.Height );    Notify := true;    end;    end;   end;
    2023-05-08 02:15:02下载
    积分:1
  • Delphi 显示文件的播放进度
    Delphi 显示文件的播放进度,使用了Timer实现对进度的计算和显示。
    2022-05-28 13:11:17下载
    积分:1
  • Delphi 如何定义自已的鼠标单击事件
    Delphi 如何定义自已的鼠标单击事件,本程序定义了监测鼠标中轮的事件,当用户按下鼠标中轮时,将监测到运作类型,并弹出窗口返回结果。
    2022-05-13 22:55:23下载
    积分:1
  • Delphi 鼠标双击TStatusBar时判断是哪一个panels
    Delphi 鼠标双击TStatusBar时判断是哪一个panels,这个是把窗口的状态栏分隔,每个隔断中显示不同的内容,用鼠标双击不同的隔断,程序将判断用户点击了哪个隔断,并获取到该栏中的文字内容显示出来。
    2023-02-09 01:20:03下载
    积分:1
  • Delphi 模拟制作Windows XP风格界面的下拉页
    Delphi 模拟制作Windows XP风格界面的下拉页,实际上就是XP资源管理器界面的右侧窗口,鼠标单击会向下展开,再次单击会重新合拢,像一个折叠展开的面板那样,这种形式的窗口在Windows中已经早有应用,这只是一个用Delphi代码仿写的效果,希望对大家的Delphi界面设计有所帮助。
    2022-07-24 03:34:24下载
    积分:1
  • Delphi添加图层蒙版
    Delphi添加图层蒙版,运行本程序后,在屏幕上添加一层阴影,透明度大概在70%左右,可看作是在屏幕上方蒙了一层薄膜的感觉,代码简单:procedure TForm1.FormCreate(Sender: TObject);   var    bTrans: Byte;    OldStyle: Integer;   begin    form1.Color := clGradientActiveCaption;    WindowState := wsMaximized;    BorderStyle := bsNone;    FormStyle := fsStayOnTop;    OldStyle := GetWindowLong(Handle, GWL_EXSTYLE);    SetWindowLong(Handle, GWL_EXSTYLE, OldStyle or WS_EX_LAYERED Or WS_EX_TRANSPARENT);    bTrans := 128;    SetLayeredWindowAttributes(Handle, 0, bTrans, LWA_ALPHA);   end;
    2022-02-06 10:25:25下载
    积分:1
  • Delphi7删除字符串指定字符(汉字)的例子
    Delphi7删除字符串指定字符的例子,如图所示的运行效果,示例如下文字:“经过这几天在网上的淘金,多少也有些了解了,但是现在我发现就算将分区正确的话,分区所指向的目录区也许会有些问题。”,删除指定的文字为“在”,本例中将上述一段文字中所有的“在”全部删除,在代码部分,各个变量的定义有意思:   Strs, //文本字符串   Stre, //汉字字符串   St, //文本ASCII码   Se, //汉字ASCII码   L_St, //临时文本ASCII码   L_Se, //临时汉字ASCII码   Str_copy //保存文本    : String;   Ints, //文本总长度   Inte, //删除汉字长度   i, //文本循环   p, //汉字循环   ps, //文本指针变量   pe, //汉字指针变量   Int_zh, //找到时保存汉字位置   Int_ch //循环查找时的变量
    2022-03-23 19:03:00下载
    积分:1
  • Delphi 将数字转换成字符串
    Delphi 将数字转换成字符串,请参见以下的转换代码,转换成功后将以 showmessage的形式返回结果,核心转换功能代码实现:   procedure TForm1.Button1Click(Sender: TObject);   var    i:integer;    s:string;   begin    i:=1234567;    s:=inttostr(i);    showmessage(s);   end;
    2022-09-05 21:20:03下载
    积分:1
  • Delphi 获取拖动到窗体中的文件的路径
    Delphi 获取拖动到窗体中的文件的路径,这实际上是一个拖放打开文件的例子,这只不是其中的一个步骤,拖放打开是把文件拖放到本窗口中,直接打开该文件,而拖放得到路径是把文件的路径显示在窗口中,和打开文件其实难易程序是一样的。拖放后获取文件路径,代码如下:   procedure TForm1.FileIsDropped(var Msg: TMessage);   var    NumFiles : longint;    i : longint;    FName : array[0..255] of char;   begin    SetForegroundWindow(Handle);    NumFiles := DragQueryFile(Msg.WParam,$FFFFFFFF,nil,0);    for i := 0 to (NumFiles - 1) do    begin    DragQueryFile(Msg.WParam,i,FName,sizeof(FName));    Memo1.Lines.Add(FName);    end;   end;
    2022-09-25 15:45:03下载
    积分:1
  • Delphi 制作红绿眼镜三维立体画
    这是一个Delphi色彩控制方面的示例,我看上去更像是Delphi分离出红绿颜色通道,从页形成的一种立体效果,复制和修改颜色模式来实现,相关代码可参考如下:    //设置添充颜色的大小    DBitmap.Width := LBitmap.Width;    DBitmap.Height := LBitmap.Height;    vRect := Rect(0, 0, DBitmap.Width, DBitmap.Height); //获取添充区域    DBitmap.Canvas.Brush.Color := vGreen; //设置画笔颜色    DBitmap.Canvas.FillRect(vRect); //添充颜色    LBitmap.Canvas.CopyMode := cmSrcPaint; //将复制模式改为OR    LBitmap.Canvas.CopyRect(vRect, DBitmap.Canvas, vRect); //对图片进行复制    DBitmap.Canvas.Brush.Color := vRed;    DBitmap.Canvas.FillRect(vRect);    RBitmap.Canvas.CopyMode := cmSrcPaint; //将复制模式改为OR    RBitmap.Canvas.CopyRect(vRect, DBitmap.Canvas, vRect); //对图片进行复制    DBitmap.Canvas.CopyRect(vRect, LBitmap.Canvas, vRect);    DBitmap.Canvas.CopyMode := cmSrcAnd; //将复制模式改为AND    DBitmap.Canvas.CopyRect(vRect, RBitmap.Canvas, vRect);    except    Exit;    end;    Result := True;   end;
    2023-02-01 08:05:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载