博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
改变PNG图片的透明度 delphi
阅读量:6610 次
发布时间:2019-06-24

本文共 816 字,大约阅读时间需要 2 分钟。

  hot3.png

type  TARGBRect = packed record  Blue, Green, Red, Alpha: Byte;   end; var  I, x, y: Integer;   bmp: TGpBitmap;   bg: TGpGraphics;   Data: TBitmapData;   P: PInteger; begin  DoubleBuffered := True;   bmp := TGpBitmap.Create('0.bmp');   try  Data := bmp.LockBits(GpRect(0, 0, W, H), [imRead, imWrite], pf32bppARGB);   P := Data.Scan0;   for y := 1 to Data.Height do  for x := 1 to Data.Width do  begin  // 计算不透明度   with TARGBRect(P^) do  Alpha := Max(Red, Max(Green, Blue));   //Alpha := (Red + Green + Blue) div 3;   //Alpha := (306 * Red + 601 * Green + 117 * Blue) div 1024;   Inc(P);   end;   bmp.UnlockBits(Data);   bg := TGpGraphics.Create(form1.Canvas.Handle);   bg.DrawImage(bmp, 0, 0, bmp.wideh, bmp.Height);   end;   finally  bg.Free;   bmp.Free;   end; end;

转载于:https://my.oschina.net/u/1777508/blog/489749

你可能感兴趣的文章
中文版Windows Server 2012 R2更改为英文显示语言
查看>>
教爸爸妈妈用微信
查看>>
SQLite中的PRAGMA语句攻略
查看>>
SecureCRT常用设置
查看>>
【BZOJ】3319: 黑白树(并查集+特殊的技巧/-树链剖分+线段树)
查看>>
一个完整推荐系统的设计实现-以百度关键词搜索推荐为例
查看>>
java call sap
查看>>
理解传说中的roll、yaw、pitch
查看>>
SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)
查看>>
github上值得关注的前端项目
查看>>
Mac OS 后台服务注册
查看>>
redis 管道
查看>>
对于思考小端和大端字节顺序
查看>>
lua--从白开始(2)
查看>>
boost库学习之开篇
查看>>
eclipse建立cocos2d-x开发环境
查看>>
TPS和QPS的区别
查看>>
netbeans打包成jar
查看>>
UPX 加壳工具:The Ultimate Packer for eXecutables
查看>>
Lerp和SmoothDamp比较
查看>>