处理图片透明操作

// <summary>
/// 处理图片透明操作
/// </summary>
/// <param name="srcImage">原始图片</param>
/// <param name="opacity">透明度(0.0---1.0)</param>
/// <returns></returns>
private Image TransparentImage(Image srcImage, float opacity)
{
    float[][] nArray ={ 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, opacity, 0},
                        new float[] {0, 0, 0, 0, 1}};
    ColorMatrix matrix = new ColorMatrix(nArray);
    ImageAttributes attributes = new ImageAttributes();
    attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
    Bitmap resultImage = new Bitmap(srcImage.Width, srcImage.Height);
    Graphics g = Graphics.FromImage(resultImage);
    g.DrawImage(srcImage, new Rectangle(0, 0, srcImage.Width, srcImage.Height), 0, 0, srcImage.Width, srcImage.Height, GraphicsUnit.Pixel, attributes);  

    return resultImage;
}

  

时间: 2024-10-31 07:34:52

处理图片透明操作的相关文章

初识gd库

必备基础 开启GD拓展 列表使用 获取图片信息代码 图片详细信息 特效函数 示例 运行结果 分析 获取图片基本信息 获取图片宽度 获取图片高度 获取图片后缀名 获取图片mime类型 操作图片 添加文字水印 添加图片水印 压缩图片 输出图片 输出到浏览器 输出到文件 封装成工具类 封装代码 测试实例 测试结果 总结 最后来总结一下本文的主要内容 本文的应用方向 gd2在php处理图片相关操作上是非常的方便而且快速的.而且有些时候也很有必要,诸如对用户上传的图片进行压缩处理来提高响应速度,添加文字水

设计模式4 结构型模式

设计模式4  结构型模式 目录 代理模式 装饰器 外观模式 适配器模式 代理模式,美国,韩国代理购物 [email protected]:~$ cat main.cpp  #include<iostream> using namespace std; class Item //商品 { public: Item(string kind ,bool fact) { this->kind = kind; this->fact = fact; } string getKind() { r

扩展系统功能--装饰模式

对已有对象的功能进行扩展(装饰),以获得更加符合用户需求的对象,使得对象具有更加强大的功能,这就是装饰模式. 基于继承的复用缺点: (1) 系统扩展麻烦,在某些编程语言中无法实现(多继承问题). (2) 代码重复,不利于对系统进行修改和维护. (3) 系统庞大,类的数目非常多. 装饰模式概述 根据合成复用原则,在实现功能复用时,多用关联(组合),少用继承. 装饰类作用:对原有对象进行装饰,通过装饰来扩展原有对象的功能. 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的行为. 装饰模式

Adapter(适配器)模式

1. 概述: 接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题.程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化.  例子1:iphone4,你即可以使用UBS接口连接电脑来充电,假如只有iphone没有电脑,怎么办呢?苹果提供了iphone电源适配器.可以使用这个电源适配器充电.这个iphone的电源适配器就是类似我们说的适配器模式.(电源适配器就是把电源变成需要的电压,也就是适配器的作用是使得一个东西适合另外一个东西.)  例子2:最典型的例

自己动手写工具:百度图片批量下载器

开篇:在某些场景下,我们想要对百度图片搜出来的东东进行保存,但是一个一个得下载保存不仅耗时而且费劲,有木有一种方法能够简化我们的工作量呢,让我们在离线模式下也能爽爽地浏览大量的美图呢?于是,我们想到了使用网络抓取去帮我们去下载图片,并且保存到我们设定的文件夹中,现在我们就来看看如何来设计开发一个这样的图片批量下载器. 一.关于网络抓取与爬虫 网络蜘蛛的主要作用是从Internet上不停地下载网络资源.它的基本实现思想就是通过一个或多个入口网址来获取更多的URL,然后通过对这些URL所指向的网络资

设计模式学习第一天:23种设计模式(全)

C#常见的设计模式 一.概要: 模式分为三种,设计模式.体系结构模式与惯用法.其中惯用法是一种语言紧密相关的模式,例如,定界加锁模式其实是一种惯用法. 在C#项目开发过程中,很多情况下您已经使用了某些模式,但或许您并不知道自己所使用的这种解决方案是一种已经被总结归纳的模式. 工厂.策略.桥接.模板方法.代理等等23种Gof经典模式是属于设计模式,设计模式的粒度相对较小,基本上用于提高模块内部的可扩展性和可维护性需求 三层.MVC.IoC/DI等属于体系结构模式,粒度比设计模式大,它是从项目的整体

HTTP1.1协议中文版-RFC2616

转自:http://www.cnpaf.net/Class/HTTP/200811/23277.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 “互联网官方协议标准”(STD 1)来了解本协议的标准化状态.本协议不限流传发布. 版权声明 Copyright (C) The Internet Society (1999).   All Rights Reserved. 摘要 超文本传输协议(HTTP)是一种为分布式,合作式,超媒体信息系统.它是一种通用的,

Andfroid 内存溢出与内存泄漏的简单分析与解决

<一>内存溢出与内存泄露 首先我们要知道内存溢出与内存泄露的概念,什么是内存溢出和内存泄露. 内存溢出:就想杯子里得水满了,就溢出了.内存溢出就是分配的内存被用光了,不够用了. 内存泄露:就如同杯子里面有石子,导致杯子里面的一部分空间没有被利用,在APP中内存泄露就是指该被回收的内存没有被回收,导致一部分内存一直被占着,可利用内存变少了.当泄露过多 时,可利用的内存越来越少,就会引起内存溢出了. <二> 查找内存泄露与内存溢出 (1) 内存溢出,最明显的地方就是报错,APP奔溃并报

文件过滤驱动开发

文件过滤驱动 一.文件透明加解密 关键字:透明.文件过滤驱动.加密标识,缓存 文件过滤驱动最重要的两点是搞定加密标识和缓存管理 1.透明概念: 透明指的是用户在操作的时候,虽然后台在自动的进行加解密,但是用户根本就不知道加密的存在,就像中间隔了一层透明的玻璃一样. 透明的好处在于不改变用户的操作,一切都和加密之前一样,甚至在有些企业安装加密后都无需通知所有的员工,就像加密并不存在一样,只是加密文件到了企业安全环境的外部才会发现文件无法打开. 透明的程度也是加密软件一个很重要的方面,例如:正在编辑