因为在工作中基于迅雷Bolt开发的是IM产品,需要实现自定义用户头像的功能。

但Bolt中对图像的默认拉伸锯齿效果非常明显,所以自己实现了图像拉伸函数,代码已共享,具体可查看:《迅雷Bolt图像拉伸不清晰的解决办法》。

不过在这个函数的使用中,遇到了使用ClipSubBindBitmap裁切后再拉伸,图像不显示的Bug,示例代码:

hCutBitmap虽然不为空,但却不显示,后来跟龙哥(幻灰龙)沟通,注意到Bitmap类的ClipSubBindBitmap函数的说明:

ClipSubBindBitmap返回的Bitmap是子对象,与原Bitmap共享数据,也就是说裁切出来Bitmap并不是真正意义上的图像,所以导致后续的拉伸Bug。

解决的办法也非常简单,就是调用Clone函数,创建一个真正意义上的Bitmap。

大家在使用ClipSubBindBitmap后,如果需要对图像进行其他处理,可以先Clone一个。

另外在沟通中,关于对象引用计数的官方解释中有错误:http://xldoc.xl7.xunlei.com/0000000018/00000000180001000010.html

CheckXXX没有增加引用计数,只是把对象从Lua栈里取出来。


分享,是一种天生的冲动!

转载于:https://www.cnblogs.com/ym123/p/4174739.html

迅雷Bolt的ClipSubBindBitmap函数特别说明相关推荐

  1. VB 迅雷下载地址解密函数

    它可将加密过的迅雷下载地址URL转换成真正的下载地址. Private Sub Form_Load()      '解密      MsgBox thunderToURL("thunder: ...

  2. c语言printf函数很长时间,C语言学习之printf()函数特别注意事项

    https://m.toutiao.com/is/eLAopLB/ 做为C语言程序的输出函数printf()在使用时除了其正常的使用之外,还有特别要注意的地方: 1.在函数里面,基本上只有三种字符,一 ...

  3. 仿迅雷播放器教程 -- C++ windows界面库对比(11)

    从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况. 从时间上看: 1.出来最早的是QT,1991年就有了. 2.VC++ 虽然1992年 ...

  4. 实用Common Lisp编程——函数

    有了语法和语义规则以后,所有Lisp程序的三个最基本组成部分就是函数.变量和宏.在第3章里构建数据库时,这三个组件已经全部用到了,但是我没有详细提及它们是如何工作的,如何更好使用它们.接下来的几章将专 ...

  5. 【 C 】回调函数简记

    最近心特别浮躁,还没到晚上十点,就安定不下来了,但是这篇博文还必须记完! 上篇博文:函数指针,对这篇博文的理解也比较重要. <c 与 指针>对于回调函数讲的也比较细致了,耐心看完,也会收获 ...

  6. .Net程序员学用Oracle系列(10):系统函数(中)

    1.四大转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.两大近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 3.1.正则函 ...

  7. 深入了解android平台的jni---注册native函数

    注册native函数有两种方法:静态注册和动态注册. 1.静态注册方法 根据函数名找到对应的JNI函数:Java层调用函数时,会从对应的JNI中寻找该函数,如果没有就会报错,如果存在则会建立一个关联联 ...

  8. Item 14: 如果函数不会抛出异常就把它们声明为noexcept

    本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 在C++98中,异常规范(exception specificat ...

  9. 从零开始学习jQuery (九) jQuery工具函数

    本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...

最新文章

  1. 程序员也需要工匠精神
  2. 经典题---数组改“貌”
  3. php 不能同时提交form
  4. Windows 8 Hello World
  5. 获取字段为List类型中的泛型类型
  6. 我的docker随笔33:在容器中连接oracle数据库
  7. DNN的Friendly URL剖析及应用
  8. 微信php签名验证_微信公众平台安全模式消息体签名及加解密PHP代码示例
  9. 1.7更换JDK1.6版本后,无法启动eclipse mars解决办法。
  10. [python] 在指定目录下找文件
  11. 【noi.ac #1779】D
  12. ssh框架的基本运用
  13. ICPC 昆明 单挑打铁记
  14. 关于李沐深度学习softmax学习中代码出错的问题及解决方法
  15. 使用Clang作为编译器 —— Clang 中的Diagnostic flags
  16. python 破解字体加密实战
  17. SpringBoot2-6 Web1-静态资源 默认4个目录,特别是resources 目录, webjars引入和内部资源访问,注意其内部resources目录 HandlerMapping
  18. 任意两平面求夹角|Python练习系列[11]
  19. mel表达式_表达式和 MEL 语法之间的区别
  20. 理查马文价值导向选股法则

热门文章

  1. Codeblocks的下载、安装以及使用方法(详细说明)
  2. 使用 MAUI 进行数据可视化:与 图表控件LightningChart JS 的兼容性项目模板
  3. [ERP/鼎捷E10][产品结构管理]料件认可
  4. 有钱任性把冰山搬回家,真有富豪计划这样干!
  5. 用open3d将stl格式转化为ply格式,并且单位从mm转为m
  6. 【书籍分享】C++ Primer 中文第五版 PDF
  7. gInk:一款好用的屏幕标注写画软件
  8. Docker--harbor
  9. SDCC 2015中国软件开发者大会盛大开幕
  10. 旷视全新智能人像抓拍机:1080P高清视频格式,抓拍率不低于98%。