求delphi代码,万分火急

yufei827 2013-05-09 09:23:14
求delphi的trackbar使用时,右移bmp图片亮度变亮,左移亮度变暗,求代码
...全文
289 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Seven凹凸Man 2013-05-09
  • 打赏
  • 举报
回复
参照透明度设置做吧,现在学的很皮毛 procedure TForm1.trckbr1Change(Sender: TObject); begin //透明设置 self.AlphaBlend:= True; Self.trckbr1.Min := 0; Self.trckbr1.Max := 255; Self.trckbr1.Frequency := 15; Self.AlphaBlendValue := Self.trckbr1.Max - Self.trckbr1.Position; end; //亮度设置,这是Delphi的老版本的,下面是链接(RGB/亮度/对比度): http://hi.baidu.com/83925com/item/35628733f7dfdd332e0f81f0 procedure BrightnessChange(SrcBmp,DestBmp:Tbitmap;ValueChange:integer); var i, j: integer; SrcRow, DestRow: pRGBArray; begin // get brightness increment value // for each row of pixels for i := 0 to SrcBmp.Height - 1 do begin SrcRow := SrcBmp.ScanLine[i]; DestRow := DestBmp.ScanLine[i]; // for each pixel in row for j := 0 to SrcBmp.Width - 1 do begin // add brightness value to pixel's RGB values if ValueChange > 0 then begin // RGB values must be less than 256 DestRow[j].rgbtRed := Min(255, SrcRow[j].rgbtRed +ValueChange); DestRow[j].rgbtGreen := Min(255, SrcRow[j].rgbtGreen + ValueChange); DestRow[j].rgbtBlue := Min(255, SrcRow[j].rgbtBlue +ValueChange); end else begin // RGB values must be greater or equal than 0 DestRow[j].rgbtRed := Max(0, SrcRow[j].rgbtRed +ValueChange); DestRow[j].rgbtGreen := Max(0, SrcRow[j].rgbtGreen +ValueChange); DestRow[j].rgbtBlue := Max(0, SrcRow[j].rgbtBlue +ValueChange); end; end; end; end;

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧