改动图形而且附加透明通道:

要附加透明度,能够要把图片转化为32位png图片,然后设置对应的alpha值:

1.      怎样把一张图片改动为32位的Png:

a)        读取原图片颜色信息

b)        创建一张32位而且带透明的位图

比如:
创建带透明的DIB图形(DIB:设备无关图形)

CImageimage;

image.Create(nWidth(),nHeight(), 32,CImage::createAlphaChannel);

byte*pHead= (byte*)
image.GetBits();//颜色buffer

intnPitch=
imageConvert.GetPitch();//每行字节数--为负时图形自下而上

c)        读取原图片的RGB值写入到新图片中,Alpha值缺省使用255

此时,也能够为指定颜色,设置特殊的alpha值

d)        保存为png图片

注意: 使用CImage读取24/32位图形时,读取的字节序是BGR/BGRA。參考MSDN结构体定tagRGBTRIPLE/
tagRGBQUAD义。

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源)

[MFC]图形附加alpha透明通道的更多相关文章

  1. 【IE6的疯狂之二】IE6中PNG Alpha透明(全集)

    ie7,fireofx,opera,及至webkit内核的chrome ,safari….. 这些浏览器均支持png的Alpha透明. 很多人说IE6不支持PNG透明,其实IE支持100%透明的PNG ...

  2. png24是支持Alpha透明的。。。。。。

    这个可能跟每个人使用切图软件有关. 1.Photoshop   1)只能导出布尔透明(全透明或者全不透明)的PNG8.    2)能导出alpha透明(全透明,全不透明,半透明)的PNG24.     ...

  3. 基于 Unity 的一种透明通道压缩处理

    由于 Android 平台各种硬件标准的不统一,为了开发的软件项目能够在大部分 Android 机上完美运行,我们需要以较差的硬件支持为基础做准备. Android 平台基本上都支持对不带 Alpha ...

  4. 使用opencv为没有透明通道的图像加入透明通道

    在图像处理中,我们经常需要处理带透明通道的图片,比如为图片或视频添加水印,为图片或视频添加字幕.贴图等.然而,我们的素材图片未必总是带有透明通道.比如,素材的背景本该透明的地方,却是黑色和白色.有时, ...

  5. 用CSS实现Firefox 和IE 都支持的Alpha透明效果

    有的时候,为了实现一些特殊效果,需要将页面元素变透明,本文介绍的就是用 CSS 实现 Firefox 和 IE 都支持的 Alpha 透明效果.CSS: filter:alpha(opacity=50 ...

  6. Delphi把一张PNG横向分割成N张透明通道的图片

    Delphi新版本虽然集成了PngImage但是分割复制什么的却非常难用.稍微封装了一下.可以把一张PNG横向分割成N张.透明通道什么的都可以保持不变.typeTPngArray = array of ...

  7. 解析IE, FireFox, Opera 浏览器支持Alpha透明的方法

    先请看如下代码: filter:alpha(opacity=50);       /* IE */  -moz-opacity:0.5;              /* Moz + FF */  op ...

  8. javaCV开发详解之12:视频转apng动态图片实现,支持透明通道,也支持摄像机、桌面屏幕、流媒体等视频源转apng动态图

    wjavaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG. ...

  9. MFC-创建MFC图形界面dll

    创建MFC图形界面dll 概述: 利用MFC的DLL框架,制作带有图形界面的dll,可以实现很多功能. 流程: 选择静态链接MFC DLL:以免有的库没有. 采用该框架创建的MFC,会自动生产一个MF ...

随机推荐

  1. ElementUI的提示框的使用记录

    1.popover点击之后隐藏 问题描述:做了一个通知面板功能,下面提示信息有路由,每次点击消息呢,就跳转到了路由页面,但是此时这个面板没关闭,希望将其关闭 解决:官方文档有个属性 <div&g ...

  2. UML解惑:图说UML中的六大关系

    UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑.这里给出这六种主要UML关系的说明和类图描述, ...

  3. Andorid之ActivityManager

    在Android中ActivityManager主要用于和系统中运行的Activities进行交互.在本篇文章中,我们将对ActivityManager中的API进行研究使用. 在ActivityMa ...

  4. MySQL监控、性能分析——工具篇

    https://blog.csdn.net/leamonjxl/article/details/6431444 MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性 ...

  5. Java中看今天是星期几,礼拜几

    下面这段代码就能达到目的: Date today = new Date();        Calendar c=Calendar.getInstance();        c.setTime(to ...

  6. maven command to create your application

    How do I make my first Maven project? We are going to jump headlong into creating your first Maven p ...

  7. Discuz常见小问题-如何修改顶部导航

    1 除了主导航,我们还有一些其他的导航菜单需要设置,比如顶部导航栏,注意系统内置的最好不要修改,如果我不想显示系统内置的,则取消勾选即可.下面我自己做了两个新的顶部导航超链接,分别指向新的站外的地址. ...

  8. Closing a window

    The obvious way to how to close a window is to click on the x mark on the titlebar. In the next exam ...

  9. java统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)

    import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; /* ...

  10. 实现 1像素border

    border-1px($color) position: relative &:after display: block position: absolute left: 0 bottom: ...