GDI+_VB6_ARGB
在写一个用GDI+代替VB的Line函数的方法时,遇到了一个问题。
GdipCreateSolidFill
参数
color
[in]ARGB颜色,指定此实体画笔的初始颜色。
brush
[out]指向接收到新创建的SolidBrush对象的指针的变量的指针。
返回值
如果函数成功,则返回Ok,它是状态枚举的一个元素。
如果函数失败,它返回状态枚举的其他元素之一。
在得到ARGB值这一点出现了问题。
我当时以为很简单的HEX(ARGB)就能解决结果我就错了。
查阅了很多时间,才知道原来要分开来转换。
ARGB有四个值: 透明度 红色值 绿色值 蓝色值 于是我做了一个函数来解决:
Public Function ARGB(alpha As Integer, red As Integer, green As Integer, blue As Integer) As Long
'ARGB(透明度,红色,绿色,蓝色)
If alpha > Or red > Or green > Or blue > Then
'大于255 返回0
ARGB = : Exit Function
End If
Dim S_a As String, S_r As String, S_g As String, S_b As String, S_16 As String
S_a = Hex(alpha): S_r = Hex(red): S_g = Hex(green): S_b = Hex(blue)
'由于十六进制ARGB是以两位数为一个值的。
'当字符个数为1时前面加0补充
If Len(S_a) < Then S_a = "" & S_a
If Len(S_r) < Then S_r = "" & S_r
If Len(S_g) < Then S_g = "" & S_g
If Len(S_b) < Then S_b = "" & S_b
S_16 = "&H" & S_a & S_r & S_g & S_b
'ARGB=&H FFFF FFFF
ARGB = Val(S_16)
End Function
虽然很简单的一个东西,但是百度上对ARGB的介绍极少,导致浪费了我不少的时间,所以建一篇帖子谨记。
GDI+_VB6_ARGB的更多相关文章
- 超全面的.NET GDI+图形图像编程教程
本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了 ...
- (转载)GDI+双缓冲
双缓冲在GDI+里可以有效的提高描画效率.改善显示的质量. 下面的代码是一个最简单的双缓冲的模板.可以根据需要,做简单的修改即可. Bitmap CacheImage( [Width], [Heigh ...
- (转载)解决GDI闪烁
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的 ...
- 通过GDI+绘制 验证码
只为了记录下自己的学习历程,方便日后查看 现在开始言归正传,以下为其完整代码附上 using System; using System.Collections.Generic; using Syste ...
- 【VC++技术杂谈007】使用GDI+进行图片格式转换
本文主要介绍如何使用GDI+对图片进行格式转换,可以转换的图片格式为bmp.jpg.png. 1.加载GDI+库 GDI+是GDI图形库的一个增强版本,提供了一系列Visual C++ API.为了使 ...
- C# GDI绘制矩形框,鼠标左键拖动可移动矩形框,滚轮放大缩小矩形框
最近工作需要,要做一个矩形框,并且 用鼠标左键拖动矩形框移动其位置.网上查了一些感觉他们做的挺复杂的.我自己研究一天,做了一个比较简单的,发表出来供大家参考一下.如觉得简单,可路过,谢谢.哈哈. 先大 ...
- 【Windows编程】系列第五篇:GDI图形绘制
上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数 ...
- GDI+ 笔记
1.GDI+模板 #include<windows.h> #include<GdiPlus.h> #include <time.h> #include <ma ...
- C# GDI+发生一般性错误(A generic error occurred in GDI+))
解决思路: 1. 因为 .net GDI+ 是对底层 的封装. 所以可以尝试用 Marshal.GetLastWin32Error();函数获得底层错误代码. try{ image.Save(file ...
随机推荐
- Unity外包团队:U3D与UE我选哪个好?请别再问这种问题了!
原本预先决定的两家VR游戏公司采访,思熊和星为棋,并没有发现什么共性之初.结果在采访之后却意外发现,两家的经历有着非常相似的地方.他们都是来自于开发游戏所用的引擎的原开发商,比如思熊的主力来自Epic ...
- Python3 标准库学习
python3.5.6 官方文档 https://docs.python.org/3.5/library/index.html 1.介绍 2.内置函数 3.内置常量 3.1常数添加的 site模块 ...
- Nodejs+MQTT
客户端 https://github.com/mqttjs/MQTT.js 服务端 https://github.com/mcollina/mosca ionci3 使用mqtt.js Brosw ...
- H264--2--语法及结构
转自:http://blog.csdn.net/yangzhongxuan/article/details/8003494 名词解释 场和帧 : 视频的一场或一帧可用来产生一个编码图像.在电视中 ...
- python3学习笔记12(变量作用域)
变量作用域 参考http://www.runoob.com/python3/python3-function.html Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量 ...
- 「Mobile Testing Summit China 2017」第三届中国移动互联网测试开发大会-讲师征集
时至北京盛夏,一场由 TesterHome 主办的关于移动互联网测试技术的盛会正在紧锣密鼓的筹备中.只要你关注软件质量,热爱测试,期待学习,都欢迎你加入这次移动测试技术大会中和我们一起分享经验.探讨话 ...
- nginx1.14.0版本server、location、rewrite配置
server配置demo 在192.168.10.140(centos7)上修改: /home/program/nginx/conf/nginx.conf 添加一个server server { li ...
- 正则表达式与Python中re模块的使用
正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则 ...
- [UE4]Spline
Spline和Spline Mesh的区别: 1.Spline Mesh是有实体表现的,Spline Mesh可以拉伸弯曲实体模型,Spline Mesh是具象. 2.Spline 只有曲线,没有实体 ...
- windows使用im4java 提示FileNotFoundException
1)安装imageMagic时候要勾上convert那一行,确保安装目录下有convert.exe 2)使用image4java的全局类里面加上 //ImageMagick的安装路径 public s ...