注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

delphi编程实现图像的淡入浅出  

2013-08-16 02:06:18|  分类: delphi xe4 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

下面是关键代码,需要引用的单元,自己添加上去就可以~

function IntToByte(i:Integer): Byte;
begin
  if i > 255 then Result := 255
  else if i < 0 then Result := 0
  else Result := i;
end;

procedure Lightness1(var clip: tbitmap; Amount: Integer);
var
  p0: pbytearray;
  r, g, b, p, x, y: Integer;
begin
  for y := 0 to clip.Height - 1 do 
  begin
    p0 := clip.scanline[y];
    for x := 0 to clip.Width - 1 do
    begin
      r := p0[x * 3];
      g := p0[x * 3 + 1];
      b := p0[x * 3 + 2];
      p0[x * 3] := IntToByte(r + ((255 - r) * Amount) div 255);
      p0[x * 3 + 1] := IntToByte(g + ((255 - g) * Amount) div 255);
      p0[x * 3 + 2] := IntToByte(b + ((255 - b) * Amount)div 255);
    end;
  end;
end;


procedure Lightness(var clip: tbitmap; Amount: Integer);
var
  p0: pbytearray;
  r, g, b, p, x, y: Integer;
  n: array[0..255] of Integer;
begin
  for y := 0 to 255 do
   n[y] := IntToByte(y + ((255 - y) * Amount) div 255);
  for y := 0 to clip.Height - 1 do
  begin
    p0 := clip.scanline[y];
    for x := 0 to clip.Width - 1 do
    begin
      b := p0[x * 3];
      g := p0[x * 3 + 1];
      r := p0[x * 3 + 2];
      p0[x * 3] := n[b];
      p0[x * 3 + 1] := n[g];
      p0[x * 3 + 2] := n[r];
    end;
  end;

end;


procedure TForm1.TrackBar1Change(Sender: TObject);
var
  vBitmap:TBitmap;
begin
  vBitmap:=TBitmap.Create;
  try
    vBitmap.Assign(Image1.Picture.Graphic);
    vBitmap.PixelFormat:=pf8bit;
    Image1.Picture.SaveToFile('c:\test1.bmp');
    Lightness(vBitmap,TrackBar1.Position);
    vBitmap.SaveToFile('c:\test2.bmp');
    Image2.Picture.Bitmap.Assign(vBitmap);
  finally
    vBitmap.Free;
  end;
end;
  评论这张
 
阅读(149)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017