最近搜索了些在内存中转换图片格式的东西,比如截屏后的bmp图片在内存中转为jpg数据流,你可以通过socket发送这段jpg内存数据流,同时,你也可以通过内存数据流逆转换。
通过DibFile.h里面的两个函数完成(用的是Gdi+库):Bitmap*CreateBitmapFromMemory(constvoid*buf,size_tsize);void*SaveBitmapToMemory(Bitmap*image,void**outbuf,size_t*size,size_tCodecIndex=0,ULONGquality=50);说明:CodecIndex取值0-4,分别对应转换为jpg、bmp、gif、png、tiff格式,当为0时,参数quality有用,表示转换jpg的质量,取值0-100,数值越小,压缩比越大。
注意:outbuf为指针的指针,会在内部malloc内存,以保存转换后的图片数据流。
虽然此软件中没用到这两个函数,但是测试通过。
你可以进行如下测试:把jpg图片以二进制数据读到内存中,然后通过CreateBitmapFromMemory函数构建Bitmap,然后再SaveBitmapToMemory转换为另一段内存中,把这段内存以二进制数据存入文件,并用其他看图软件打开保存后的图片。
其他说明:此软件在先前版本的基础上修正两处Bug:1.保存图片时,若文件名含有点,会保存失败;
2.若在浏览图片时,另存图片后,滚动滚轮显示未知格式图片。
加入一个功能:保存为jpg图片时,可以选择图片质量。
有问题联系:hastings1986@163.com
1
分享一个界面库。
包括:图像部分:由于效率原因没有使用GDI+,使用GDI来完成处理BMP,PNG,JPG等图片格式,这部分主要代码来自CodejockXtremeToolkit界面库。
MFC绝大部分的标准控件自绘:完美的标题栏重绘(window),button,combo,dialog,edit,list,menu,msgbox,progress,richedit,scroll,slider,splitter,static,tab,tree。
DirectUI:包含一些常用控件button,checkbox,groupbox,label,progress,radiobox,slider等,可以通过XML来解析控件,此DUI没有实现布局,我自己是通过窗口来布局的。
一个TEST工程和一个gamelobby.exe(无源码,用此界面库实现)。
2025/4/22 7:38:10 9.56MB MFC DirectUI 界面库
1
Labelme标注工具json批量生成,解决了两个问题:1、生成的label.png不是灰度图8bits,2、生成的label.png中,标注物体label不具备统一性具体请看:https://blog.csdn.net/xjtdw/article/details/94741984
2025/4/19 1:53:13 3KB json批量转换 labelme标注
1
快速抠图,破解版,操作简单,容易上手图像不失真,可保存.jpg,jpeg,bmp,png等图片格式。
2025/4/17 12:21:03 13.28MB 抠图
1
该资料讲述了五大方面:1.Web应用服务器2.tomcat整体架构3.源码解读4.性能优化5.常见问题排查方法
2025/4/15 6:58:40 2.7MB tomcat 性能优化 tomcat源码分析
1
梦雪网页截图工具是由java语言开发的一个截图软件。
梦雪网页截图工具可用于批量将网页截图保存到电脑。
梦雪网页截图工具依懒于谷歌浏览器正式版;
在使用前,请确保电脑安装谷歌浏览器正式版87.0.4280.88以上版本。
文件名默认保存以顶级域名.png格式
2025/4/15 6:04:10 118.42MB 截图
1
EnglishHnd.tgz这个文件中(EnglishHandwriting),图像主要在Img这个文件夹下,按照Samples001-Samples062的命名方式存储在62个子文件夹下,每个子文件夹有55张图像,都为PNG格式,分辨率为1200*900,三通道RGB图像。
2025/4/10 9:13:31 12.97MB EnglishHand
1
Delphi开发人员越来越少,我也来分享一下,需要对你们有用。
2025/4/10 3:24:48 284KB delphi TImage TPNGImage
1
libpng是一款C语言编写的比较底层的读写PNG文件的跨平台的库本包包含源码,可进行编译安装
2025/4/7 3:02:46 734KB libpng
1
一个简单的CButtonEx,可以支持(1)jpeg图片按钮;
(2)png图片按钮;
(3)gif图片(第一帧)按钮;
(4)直接添加tooltip提示信息;
(5)普通/特殊两类按钮
2025/4/6 9:48:25 3KB MFC CButtonEx CButton 按钮
1
共 350 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡