#include <windows.h>
#pragma comment(lib,"gdiplus.lib")
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;
int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
{
UINT num = 0; // number of image encoders
UINT size = 0; // size of the image encoder array in bytes
ImageCodecInfo* pImageCodecInfo = NULL;
GetImageEncodersSize(&num, &size);
if(size == 0)
return -1; // Failure
pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
if(pImageCodecInfo == NULL)
return -1; // Failure
GetImageEncoders(num, size, pImageCodecInfo);
for(UINT j = 0; j < num; ++j)
{
if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
{
*pClsid = pImageCodecInfo[j].Clsid;
free(pImageCodecInfo);
return j; // Success
}
}
free(pImageCodecInfo);
return -1; // Failure
}
INT main()
{
// Initialize GDI+.
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
CLSID encoderClsid;
Status stat;
// Get a image file
Image* image = new Image(L"13lhc-600.jpg");
// Get the CLSID
GetEncoderClsid(L"image/jpeg", &encoderClsid);
//Draw someting
Graphics graphics(image);
Pen pen(Color(255, 0, 0, 255));
graphics.DrawLine(&pen, 0, 0, 50, 50);
// Save the image.
stat = image->Save(L"change.jpg", &encoderClsid);
if(stat == Ok)
wprintf(L"%s saved successfully.\n", L"change.jpg");
else
wprintf(L"%d Attempt to save %s failed.\n", stat, L"change.jpg");
delete image;
GdiplusShutdown(gdiplusToken);
return 0;
}
分享到:
相关推荐
在微波感应模块的设计与开发过程中,合泰HT66F002是一款常见的微控制器,因其优秀的性能和丰富的功能而被广泛应用。本项目主要探讨了如何利用合泰HT66F002进行微波模块的检测,下面将详细阐述相关知识点。 一、合泰...
Power-Z KT002是一款专为数码爱好者设计的多功能设备测试和分析工具,尤其在USB PD快充领域具有广泛的应用。这款软件/插件的安装包包含了一系列必要的组件,以确保用户能够顺利地在其计算机上安装和使用Power-Z KT...
《合泰HT66F002代码解析与应用探讨》 在电子工程领域,微控制器(MCU)是核心部件之一,它们负责处理各种控制任务。本文将深入探讨合泰(Holtek)公司生产的HT66F002这款8位微控制器,并基于给定的代码段分析其在...
JEDEC JS-002-2018电static Discharge Sensitivity Testing标准 JEDEC JS-002-2018是 Electrostatic Discharge Sensitivity Testing的行业标准,由Electrostatic Discharge Association (ESDA)和JEDEC Solid State ...
【标题】"Virtex2_ug002_hep7x_XilinxUG002_XilinxV2_TCUG-002_ug002pdf.zip" 提供的资源是关于Xilinx Virtex2系列 FPGA(Field Programmable Gate Array)的用户指南,文档可能包含了该系列芯片的详细技术信息、...
DC-002 DC-005 DC-012 电源接口2D3D三维视图PCB封装库AD库(8个合集) Component Count : 8 Component Name ----------------------------------------------- DC-002 DC-003 DC-003A DC-005 DC-005P DC-012 DC-...
然而,如同所有机械设备一样,FANUC 机器人在使用过程中可能会遇到各种故障和报警,其中之一便是 JOG-002 报警。该报警通常在机器人安装完成后,首次开机或重新设置时出现,表现为机器人在关节坐标系下的T1(手动...
完整英文电子版ANSI/ESDA/JEDEC JS-002-2022 For Electrostatic Discharge Sensitivity Testing - Charged Device Model (CDM) - Device Level (用于静电放电敏感度测试 - 带电设备模型(CDM) - 设备级别 )。...
标题中的"2302586376POWER-Z KM002C003C上位机(1).zip"提到了一个名为"POWER-Z KM002C003C"的设备,这可能是一款USB功率计或者电源分析工具。"上位机"通常指的是与硬件设备配套使用的控制软件,用于数据采集、分析和...
《MT9F002应用代码详解》 在嵌入式系统开发领域,摄像头模块扮演着至关重要的角色,尤其在物联网(IoT)、智能设备和图像处理应用中。MT9F002是一款高性能的CMOS图像传感器,由On Semiconductor公司生产,广泛应用于...
《TSCA 002-2018 集装箱智能终端编码与标识规范》是中国在物联网技术应用于集装箱运输领域的一项重要标准。它旨在通过规范化的编码和标识系统,提高集装箱物流的信息化水平,提升货物追踪的准确性和效率,确保全球...
OMRON MPT002文本显示器编辑软件是专为OMRON MPT002系列文本显示器设计的一款专业级工具,其版本号为5.02+,表明这是一款经过不断优化和更新的软件,旨在提供更高效、稳定的操作体验。这款软件在工业自动化领域有着...
【标题】"CF的rf002源文件.rar"是一个压缩包,其中包含了与CF(可能指的是游戏穿越火线,CrossFire)相关的rf002源文件。源文件通常是编程或开发过程中的原始代码或数据,对于理解软件的运行机制、进行定制修改或...
这篇文档主要探讨了如何使用socket编程来实现AB Logix5000系列PLC(可编程逻辑控制器)与ENET AT002-CN-P通信模块之间的通信。让我们详细地了解一下这个主题。 首先,"socket"是一种在互联网协议套件中定义的接口,...
TCECC 002-2021 电子雾化液安全技术规范.pdf TCECC 002-2021 电子雾化液安全技术规范是中国电子商会发布的一项技术规范,旨在确保电子雾化液的安全性和质量可靠性。该规范规定了电子雾化液的技术要求、试验方法、...
STM32 P-NUCLEO-IHM001 和 P-NUCLEO-IHM002 是基于 STM32 微控制器的电机控制开发套件。这些套件由 STMicroelectronics(意法半导体)提供,并且被设计用来方便用户构建和运行基于 STMicroelectronics STM32 系列微...
根据提供的文件信息,我们可以梳理出关于《T∕ISEAA 002-2021 信息安全技术 网络安全等级保护大数据基本要求》的知识点。这些知识点涉及了网络安全等级保护2.0(等保2.0)在大数据环境下的基本要求。 首先,要了解...
《ANSI-ESDA-JEDEC JS-002-2018 用于静电放电敏感度测试-带电设备模型(CDM)-设备级别》这份文档详细阐述了电子设备在静电放电(ESD)环境中敏感度的评估标准。静电放电是一种常见的现象,尤其是在电子制造和处理...
根据提供的文件信息,我们可以总结出Omron MPT002操作手册中的关键知识点: ### 一、概述 #### 1.1 作用 Omron MPT002是一款微型可编程终端,主要用于工业现场设备的监控。具体作用包括: - **监视**:实时监控...