Public Sub I_touxiang(ByVal file As String, ByVal Graphics As Long, Width As Long, Height As Long, Optional SavePath As String)
'做这个是因为昨天晚上雅铭居士的论坛登录器的有需要。一个利用GDI +制作的QQ头像效果
'By 2019.2.16 22:00 InkHin
Dim Bitmap As Long, bmW As Long, bmH As Long
Dim Brush As Long
Dim Path As Long
Dim newImg As Long, newGraphics As Long Call GdipCreateBitmapFromFile(StrPtr(file), Bitmap) '获取Bitmap
Call GdipGetImageWidth(Bitmap, bmW) '得到Bitmap的尺寸
Call GdipGetImageHeight(Bitmap, bmH)
Call GdipCreateTexture2I(Bitmap, WrapModeTile, , , bmW, bmH, Brush) '
Call GdipCreateBitmapFromScan0(bmW, bmH, , PixelFormat32bppARGB, ByVal , newImg) '
Call GdipGetImageGraphicsContext(newImg, newGraphics) '
Call GdipGraphicsClear(newGraphics, &HFFFFFF) '
Call GdipSetSmoothingMode(Graphics, SmoothingModeAntiAlias) '反锯齿
Call GdipCreatePath(FillModeAlternate, Path) '
Call GdipAddPathArcI(Path, , , bmW, bmH, , ) '
Call GdipFillPath(newGraphics, Brush, Path) '
Call GdipDrawImageRectI(Graphics, newImg, , , Width, Height)
If Not IsMissing(SavePath) Then
If SaveImageToPNG(newImg, SavePath) <> Then MsgBox "保存失败。"
End If
'一堆删除
Call GdipDeleteGraphics(Graphics)
Call GdipDisposeImage(Bitmap)
Call GdipDeleteGraphics(newGraphics)
Call GdipDisposeImage(newImg)
Call GdipDeletePath(Path)
Call GdipDeleteBrush(Brush)
End Sub

GDI+_绘制QQ头像的更多相关文章

  1. 【Windows编程】系列第五篇:GDI图形绘制

    上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数 ...

  2. 安卓高仿QQ头像截取升级版

    观看此篇文章前,请先阅读上篇文章:高仿QQ头像截取: 本篇之所以为升级版,是在截取头像界面添加了与qq类似的阴影层(裁剪区域以外的部分),且看效果图:   为了适应大家不同需求,这次打了两个包,及上图 ...

  3. 用JQuery仿造QQ头像裁剪功能

    最近工作真心忙碌,几乎没时间写博客.今天趁周末来仿一个QQ头像裁剪功能插件.效果如下: 所有文件都可在我的Github上下载,从头到尾从简到繁按步骤一共分了9个HTML文件,每个步骤文件里的注释都写的 ...

  4. C#中的GDI+图形绘制方法

    GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...

  5. 找回使用过的QQ头像

    多么渴望那双眼睛能在万紫千红中发现自己:然而眼睛从来就不曾对自己留意:于是换种落寞再次接受垂直打击:然后然后的然后尼玛再换个逗比的头像证明老资无所谓老资无所谓嘿嘿: 我们换头像的时候,发现之前的一个最 ...

  6. gdi+ 高速绘制透明窗体

    gdi+ 高速绘制透明窗体: 方法一: 1.用Iamge对象载入png资源, 2.调用drawimage函数讲图片绘制出了 3.UpdateLayeredWindow对窗体进行布局 方法二: 1.用B ...

  7. 高仿QQ头像截取

    花费了半天时间,把 仿QQ头像截取的方法整理了下,并制作了一个demo以供大家参考,基本上实现了qq中我的资料界面上(包括背景透明化,上滑标题栏显示,下拉隐藏等)的大致效果,先上图看效果吧: 支持的功 ...

  8. python-爬虫:取qq号中各分组成员信息存入数据库,并将qq头像下载保存到文件夹,图片命名为qq号(实例3)

    import requestsimport pymongoimport requestsimport os class QqGroup:#三个接口url 获取 qq组号 获取每组成员信息 获取qq头像 ...

  9. php获取QQ头像并显示的方法

    鉴于此,我在想一个大众化的,比较简单的方法,我想到的是对于没有头像的朋友调用其QQ头像, 因为QQ现在至少是人手一个,所以只需要留言时填写QQ号,然后调用其头像,这样一来就方便多了. 首先是获取QQ的 ...

随机推荐

  1. Routemanage类方法详解

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Ref ...

  2. Java中级开发工程师知识点归纳

    (一)Java 1.接口和抽象类的区别 ①抽象类里可以有构造方法,而接口内不能有构造方法. ②抽象类中可以有普通成员变量,而接口中不能有普通成员变量. ③抽象类中可以包含非抽象的普通方法,而接口中所有 ...

  3. centos7 安装php gd库

    yum install php-gd vi /etc/php.ini 添加: extension=/usr/lib64/php/modules/gd.so

  4. office 32-bit components 2010 的卸载

    卸载方法:MsiExec.exe /X {90140000-0043-0000-1000-0000000FF1CE}

  5. 微软AD相关操作的免费工具

    https://www.ittsystems.com/best-free-active-directory-tools/

  6. vue 组件自定义v-model

    参考资料:vue官网在vue 中使用v-model双向绑定 <input v-model="something"> 其实是语法糖 <input :value=&q ...

  7. ubuntu下的git版本创建

    一.git的特点 二.gei的安装和配置 1.安装命令如下 sudo apt-get install git 2.安装成功后输入 git 3.创建版本库 git init 4.使用 先创建一个txt文 ...

  8. WPF DEV gridcontrol 自定义计算列(TotalSummary)

    /// <summary> /// 自定义计算列 /// </summary> /// <param name="sender"></pa ...

  9. 获取物理内存total值和used值

    1.使用 free -m 查看 2.物理内存total值 # free -m | grep Mem | awk '{print $2}' 3.物理内存used值 # free -m | grep Me ...

  10. qt qextserialport __imp_SetupDiGetDeviceRegistryPropertyW

    使用 qextserialport 编写串口助手的时候,提示找不到 __imp_SetupDiGetDeviceRegistryPropertyW,经过摸索有以下两种解决方法: 第一种: 把相应的源文 ...