改变PNG图片的透明度 delphi

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;
时间: 2024-09-07 20:47:02

改变PNG图片的透明度 delphi的相关文章

IE8下jQuery改变png图片透明度时出现的黑边问题

png24格式的图片在用jQuery添加显示隐藏动画时发现,图片的半透明区域出现黑边? 在网上搜了搜主要有以下几种办法: 1.把图片保存成PNG-8格式. 2.把背景色一起切入并保存为JPG格式. 以上两种方法我试了试,好像效果并不好png8格式仍就会有黑边. 解决方法: 1.不要直接改变图片的透明度,而是给图片套个容器,去修改这个容器的透明度 2.给这个容器加个颜色相近的背景颜色(非常重要,解决bug的关键就在这一步,) 一般情况下,到此bug就解决了,如果还是有问题,请看下面: 3.给容器加

改变图片的透明度,图片自适应屏幕

改变图片的透明度 float speed=0.2f; float starttime; void Start () { starttime = Time.time; } void Update() { GUITexture.color.a = Mathf.Lerp (0, 1, (Time.time - starttime) * speed); } --------------------------------------------------------------------- 图片自适

插一张图片,用SeekBar来控制图片的透明度

1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent

ImageMagick - 设置透明带 AlphaChannel 的 png 图片的透明度

学习和使用ImageMagick也有几年时间了,其实对 ImageMagick 的了解还仅仅是皮毛吧. 最近在写代码的时候,遇到一个调整透明png图片透明度的问题: 当1张png图片,有些区域是透明的,我平时调整图片透明度使用的是:MagickSetImageOpacity(),可对透明背景的png,怎么调也没效果. 后来实在没办法,我找了两个替换方案: 方案1. 删除alpha通道: MagickSetImageAlphaChannel(mw_current, RemoveAlphaChann

ImageButton动态改变按钮图片

在drawable 目录下增加一个myselector.xml文件,appwidget_play.png,appwidget_played.png myselector.xml文件中内容如下 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item

IDEA优化配置--- Intellij IDEA 2017 / 2018设置背景图片与透明度

一.前言:IDEA中主题可以更换,大家可以直接到 http://www.riaway.com/  网站,直接下载自己喜欢的主题.然后导入进去IDEA中,IDEA中代码编辑器和控制台的字体颜色和背景就会发生改变.这些主题导入IDEA之后,如果对某些个字体颜色配色方案不满意的,还可以在IDEA中修改设置,很人性化. 我个人比较喜欢这款 Nice Python 主题,还可以对部分颜色配色方案进行了微调,以使其更加适合个人口味. 二.设置背景图片[适用于Intellij IDEA 2018.3及以上版本

改变UIButton 图片和文字的位置

//设置字体和图片之间的间距 _btnLeft.titleEdgeInsets = UIEdgeInsetsMake(0, -_btnLeft.imageView.frame.size.width, 0,_btnLeft.imageView.frame.size.width); _btnLeft.imageEdgeInsets = UIEdgeInsetsMake(0, _btnLeft.titleLabel.frame.size.width+5, 0, -_btnLeft.titleLabel

TextView字体和背景图片 设置透明度

背景图片透明度设置  viewHolder.relative_layout.getBackground().setAlpha(225);     0  ---  225 ((TextView)tv).setAlphe(float i) // api11引进的0=<i=<1i=0表示完全透明i=1表示不透明 在android 2.3及以下使用setAlpha的方法.AlphaAnimation alpha = new AlphaAnimation(0.7F, 0.7F);alpha.setDur

图片添加透明度蒙版

看了很多图片上添加透明度的文章,大部分都是围绕 opacity: 这个属性来做的,但是实际项目中,该效果会影响到图片里面的字段,或者是 -webkit-mask: 这个需要配合渐变或者其他来实现,而且以白色半透明为主.如果我们需要的是黑色半透明呢,以下是我个人的的一些写法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title>