转:设置图片透明的四种方法

参照博文:http://blog.csdn.net/lexiaoyao20/article/details/6628830

最有效的一种方法:

矩阵法:

这个方法的效率最高。

    /// <summary>
           /// 设置图片的透明度
           /// </summary>
           /// <param name="image">原图</param>
           /// <param name="alpha">透明度0-255</param>
           /// <returns></returns>
           private Bitmap SetPictureAlpha(Image image,int alpha)
           {
               //颜色矩阵
               float[][] matrixItems =
               {
                   new float[]{1,0,0,0,0},
                   new float[]{0,1,0,0,0},
                   new float[]{0,0,1,0,0},
                   new float[]{0,0,0,alpha/255f,0},
                   new float[]{0,0,0,0,1}
               };
               ColorMatrix colorMatrix = new ColorMatrix(matrixItems);
               ImageAttributes imageAtt = new ImageAttributes();
               imageAtt.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
               Bitmap bmp = new Bitmap(image.Width, image.Height);
               Graphics g = Graphics.FromImage(bmp);
               g.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height),
                       0, 0, image.Width, image.Height, GraphicsUnit.Pixel, imageAtt);
               g.Dispose();  

               return bmp;
           }
时间: 2024-10-23 05:30:15

转:设置图片透明的四种方法的相关文章

Struts2 设置返回参数的四种方法

四种方法设置返回时的参数 (一) import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class LoginAction1 extends ActionSupport { private Map request; private Map session; private Map application; //

iOS设置圆角的四种方法

一.设置CALayer的cornerRadius cornerRadius属性影响layer显示的background颜色和前景框border,对layer的contents不起作用.故一个imgView(类型为UIImageView)的image不为空,设置imgView.layer的cornerRadius,是看不出显示圆角效果的,因为image是imgView.layer的contents部分. 这种情况下将layer的masksToBounds属性设置为YES,可以正确的绘制出圆角效果.

MFC 在对话框显示图片的多种方法(四种方法)

我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一个基于对话框的工程,名为Ttest. 对话框类为CTestDlg (一) 非动态载入图片. 方法1.先从最简单的开始,用picture 控件来实现. 步骤: 先在资源里Import一张图片,ID为IDB_BITMAP2 然后在对话框上添加一个picture控件,右键点击打开属性, 将type下拉框选择B

浏览器怎么设置代理IP?四种浏览器设置代理IP的方法

有时候上网需要更换IP,但是本地IP不需要更换,只是通过更换浏览器IP的方式来隐藏自己的IP,突破网络的限制,那么浏览器怎么设置代理IP?不同的浏览器设置代理IP的方法略有不同,下面黑洞代理小编整理了四种浏览器设置代理IP的方法.1.IE浏览器IE浏览器无疑是最常用的浏览器,而像360浏览器.搜狗浏览器.QQ浏览器这样的浏览器都是基于IE内核开发的浏览器,设置代理IP的方法也大同小异.IE浏览器上选择"工具--Internet选项--连接--局域网设置".在"局域网设置&qu

Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

清除浮动——让包围元素包含浮动元素的四种方法

什么是CSS清除浮动? 在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象.这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动. 有一段代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta

使用Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

Android提交数据到服务器的两种方式四种方法

Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方式向服务器提交数据的方法. /** * @author Dylan * 本类封装了Android中向web服务器提交数据的两种方式四种方法 */ public class SubmitDataByHttpClientAndOrdinaryWay { /** * 使用get请求以普通方式提交数据 * @param map 传递进来的数据,以map的形式进行了封装 * @p

android 定位一般有四种方法

android 定位一般有四种方法,这四种方式分别是:GPS定位,WIFI定准,基站定位,AGPS定位,                             (1)Android GPS:需要GPS硬件支持,直接和卫星交互来获取当前经纬度,这种方式需要手机支持GPS模块(现在大部分的智能机应该都有了).通过GPS方式准确度是最高的,但是它的缺点也非常明显:1,比较耗电:2,绝大部分用户默认不开启GPS模块:3,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间:4,室内几乎无法使用.