WTI原油周度价格历史曲线
时间: 2023-02-23 18:36:23 浏览: 57
很抱歉,我无法为您显示原油周度价格历史曲线的图表。但是我可以告诉您,WTI原油是一种常见的原油品种,其价格的波动受到国际市场的供需关系、石油生产国的政策以及全球经济和政治形动等因素的影响。市场上的原油价格通常是每桶的价格,并且可以根据周期性波动变化。
相关问题
WTI原油和布伦特原油区别
WTI原油和布伦特原油是两种种类不同的原油。
WTI,全称为西德克萨斯中质原油,是从美国西部的德克萨斯州采出来的原油。WTI原油含有较少的硫,因此在加工过程中较容易净化,是一种较高质量的原油。
布伦特原油,全称为布伦特中质原油,是从海湾地区(包括沙特阿拉伯、阿联酋、伊朗、伊拉克和卡塔尔)采出来的原油。布伦特原油含有较多的硫,加工难度较大,是一种较低质量的原油。
布伦特原油因为价格低廉,在全球市场上非常流行。但是随着WTI原油价格下降,WTI原油也逐渐成为一种更受欢迎的选择。
wacom数字签名代码实现
Wacom数字签名需要使用Wintab API,Wintab API是用于与Wacom数位板及笔交互的API,这个API提供了许多函数,用于获取、设置、处理数位板和笔的信息。其中包括数字签名功能的实现。
下面是一个简单的Wacom数字签名代码实现的示例:
```c++
#include <windows.h>
#include <wintab.h>
// 数字签名数据结构
typedef struct tagSigPoint {
LONG x;
LONG y;
LONG pressure;
} SIGPOINT;
// 数字签名处理函数
void processSignature(HWND hWnd, HCTX hCtx, SIGPOINT* pSignature, int nCount) {
// 在这里进行数字签名的处理,例如保存签名数据到文件中
}
// Wintab数字签名主函数
void WintabSignature(HWND hWnd) {
AXIS tabletX, tabletY, pressure;
HCTX hCtx;
UINT maxPkts, pktRate;
// 获取Wintab API版本信息
UINT apiVer = ::WTInfo(WTI_INTERFACE, IFC_SPECVERSION, NULL);
// 打开数位板上下文
LOGCONTEXT lcMine;
BOOL bResult = ::WTGet(WTI_DEFCONTEXT, &lcMine);
if (!bResult) {
return;
}
// 设置数位板上下文
lcMine.lcOptions |= CXO_MESSAGES;
lcMine.lcOptions |= CXO_SYSTEM;
lcMine.lcPktData = PACKETDATA;
lcMine.lcPktMode = PACKETMODE;
lcMine.lcMoveMask = PACKETDATA;
lcMine.lcBtnUpMask = lcMine.lcBtnDnMask;
// 打开数位板上下文
hCtx = ::WTCtxOpen(hWnd, &lcMine, TRUE);
if (hCtx == NULL) {
return;
}
// 获取数位板坐标轴范围
::WTInfo(WTI_DEVICES, DVC_X, &tabletX);
::WTInfo(WTI_DEVICES, DVC_Y, &tabletY);
::WTInfo(WTI_DEVICES, DVC_NPRESSURE, &pressure);
// 获取最大数据包数量和速率
::WTInfo(WTI_DEVICES, DVC_PKTRATE, &pktRate);
maxPkts = ::WTInfo(WTI_DEVICES, DVC_PKTSIZE, NULL);
// 开始捕捉数位板上的数据包
SIGPOINT signature[1024];
int i = 0;
int nCount = 0;
while (TRUE) {
PKT pkt;
bResult = ::WTPacket(hCtx, 0, &pkt);
if (bResult) {
// 将坐标转换为屏幕坐标
signature[i].x = MulDiv(pkt.pkX, GetSystemMetrics(SM_CXSCREEN), tabletX.axMax);
signature[i].y = MulDiv(pkt.pkY, GetSystemMetrics(SM_CYSCREEN), tabletY.axMax);
signature[i].pressure = MulDiv(pkt.pkNormalPressure, 255, pressure.axMax);
// 判断是否为最后一个数据包
if (pkt.pkStatus & PK_END) {
nCount = i + 1;
break;
}
i++;
if (i > maxPkts) {
break;
}
}
}
// 处理数字签名数据
processSignature(hWnd, hCtx, signature, nCount);
// 关闭数位板上下文
::WTClose(hCtx);
}
```
在这个示例中,我们使用了Wintab API中的WTGet、WTInfo、WTPacket、WTClose等函数来打开、设置、获取和关闭数位板上下文,并在循环中获取数位板数据包,将其转换为屏幕坐标,并保存到签名数据结构中。最后,我们将签名数据传递给processSignature函数进行处理。
需要注意的是,该示例仅为演示Wacom数字签名的基本实现方式,实际应用中还需要进行更多的处理,例如对签名数据进行加密和验证等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)