利用GDI+图片格式转换(例如BMP转PNG) Post author:xfxia Post published:2023年9月5日 Post category:其他 主要是先探测目标图片的编码器 然后在把数据以相应的编码存储起来。 如下为 BMP转PNG的 做法. #include <windows.h> #include <gdiplus.h> #include <stdio.h> using namespace Gdiplus; //探测PNG编码器的CLSID 函数 int GetEncoderClsid(const WCHAR* format, CLSID* pClsid); int main() { // 初使化 GDI+. GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); CLSID encoderClsid; Status stat; Image* image = new Image(L”图片1.bmp”); // 探测PNG编码器的CLSID GetEncoderClsid(L”image/png”, &encoderClsid); stat = image->Save(L”图片1.png”, &encoderClsid, NULL); if(stat == Ok) printf(“成功!/n”); else printf(“失败: 错误码: %d/n”, stat); delete image; GdiplusShutdown(gdiplusToken); return 0; } int GetEncoderClsid(const WCHAR* format, CLSID* pClsid) { UINT num 版权声明:本文为clodfront原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/clodfront/article/details/5489761 你可能也喜欢 9.28巨人网络笔试 2021-03-27 超详细的docker快速入门 C++学习笔记【1】 js 前一天,后一天,上一月,下一月 matlab分段拟合程序,如何用matlab拟合出分段函数? 基于Android T代码分析: 在freeform窗口的标题栏拖动时移动窗口流程和拖动freeform窗口边沿改变大小流程 VS2015下编译C的常见错误 Jenkins-构建项目 实验四 应用层和传输层协议分析(PacketTracer) [vscode][nrf51][nrf52] uint8_t uint16_t uint32_t 等等变量异常 基础的5G的指标及闭环条件 语义分割的评价指标(OA, F1 score)计算(不使用sklearn) 回头看——《智能家居项目小结》3 ACM PKU 题目分类(完整整理版本) 图解 LeetCode 第 421 题:数组中两个数的最大异或值 配置vhost、https、重定向 mybatis源码,从配置到 mappedStatement —— mapper.xml 是如何被解析的? web 考试笔记 ZooKeeper客户端事件串行化处理