灰度eth信託
㈠ 北京市首個央行數字貨幣應用場景落地,數字人民幣會全面推廣嗎
政策法規
㈡ 今天灰度持倉情況是怎樣的
2月25日消息,灰度BTC信託持倉昨增137 BTC,最近7天累計增持1923BTC,溢價率3%;灰度ETH信託持倉昨增持15521 ETH,最近7天累計增持22156ETH,溢價率0.12%;灰度LTC信託持 倉昨增608 LTC,最近7天累計增持17019LTC,溢價率 1803%;灰度BCH信託持倉昨增持268 BCH,最近7天累計增持2165 BCH,溢價率611%:灰度ETC信託持倉昨無增持,扣繳1009 ETC信託管理費用,最近7天累計減持7066ETC,溢價率58%。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
㈢ weth是什麼幣
WETH是一種符合ERC-20標准以太坊代幣。
拓展資料:
1、 含義
與以太坊網路的原生代幣以太幣(ETH)可以進行互換,可以將1ETH兌換為1WETH,同時也可以將1WETH兌換回1ETH,兌換是基於智能合約完成的。 Golff支持使用WETH挖GOF,所以用戶需要提前准備好WETH。
2、 為什麼要發行WBTC ?
(1)我們知道,比特幣無法直接在以太坊網路使用,而比特幣市值長期佔比超過50%,如果這部分資金長期閑置,實際上是一種資源浪費,資金的機會成本也不低。即使按照比特幣市值的5%計算,可利用的資金高達100億美元,將這部分資金轉移到以太坊網路進行借貸,按照保守6%的年化計算,凈利潤便是6億美元。以太坊擁有最好的生態,比特幣占據了大量的資金,二者如果能結合起來,可以產生巨大的效益。隨著今年以太坊Defi挖礦的走紅,WBTC 逐漸浮出水面。
(2)WBTC 全稱 Wrapped BTC,字面意思為「有包裝的比特幣」,是基於以太坊、與比特幣掛鉤的 ERC-20 代幣。由 BitGo、Kyber Network 與 Ren 等區塊鏈項目聯合推出,於2019年1月正式上線。該代幣在以太坊上發行,實現與比特幣 1:1 錨定,是ERC-20版本的比特幣,也是BTC的第一個ERC-20版本,目的在於使BTC流動性進入以太坊生態系統。
(3)WBTC採用的是一種託管式解決方案,其中託管者聯盟將真正的BTC鎖定並發行相應的WBTC代幣。只能由具備完整KYC/AML資格的注冊商戶發起WBTC。其治理通過DAO進行,BTC託管是通過多簽合約來保證。
3、為什麼說比特幣的上漲與WBTC密切相關呢?
(1)流動性挖礦效應刺激WBTC需求增加,WBTC進一步導致比特幣需求上漲,從而推動二級市場比特幣購買效應增強,導致比特幣價格上漲。
(2)因此,本輪比特幣價格可以從3800美元反彈至目前15600美元附近,不僅與灰度基金、微策略等國外機構大舉購買有關,WBTC也功不可沒。
(3)目前,WBTC不僅可以在幣安這類中心化交易所購買,也可以在Uniswap、Balancer這類去中心化交易所購買。
㈣ 求用vc++編程實現顯示灰度直方圖的詳細步驟,越詳細越好
步驟和程序:
打開VC程序——文件——新建——工程中的MFC AppWizard(exe),在工程下面的框中輸入工程名(假定工程名為111),點確定——選多重文檔,點下一個——後面都點下一個直到完成確定,基本框架就完成了,下面就加代碼。
這時VC界面上左邊框的下面有三個按鈕:ClassView、ResourceView和FileView,ClassView裡面是工程111的類:CAdoutDlg、CChildFrame、CMy111App、CMy111Doc、CMy111View和Globals;點ResourceView裡面是資源類:Accelerator、Dialog、Icon、Menu、String Table、Toolbar和Version;點開FileView裡面是文件類:Source File、Header Files、Resource Files和ReadMe.txt。
點界面的「工程」按鈕——添加工程——新建——選C++ Source File,在文件下面的框里輸入文件名(如DIBAPI),點「結束」,這樣在FileView中的Source Files裡面就多了一個DIBAPI.cpp文件,所有的代碼都加在該文件中。再點界面的「工程」按鈕——添加工程——新建——選C/C++ Header File,在文件下面的框里輸入文件名(和前面的文件名必須一致),點「結束」,這樣在FileView中的Header Files裡面就多了一個DIBAPI.h文件,該文件是DIBAPI.cpp的頭文件。
點開DIBAPI.h文件,裡面是空白的,把如下代碼考入文件中:
//DIBAPI.h
#ifndef _INC_DIBAPI
#define _INC_DIBAPI
DECLARE_HANDLE(HDIB);
#define PALVERSION 0x300
#define IS_WIN30_DIB(lpbi) ((*(LPDWORD)(lpbi))==sizeof(BITMAPINFOHEADER))
#define RECTWIDTH(lpRect) ((lpRect)->right-(lpRect)->left)
#define RECTHEIGHT(lpRect) ((lpRect)->bottom-(lpRect)->top)
#define WIDTHBYTES(bits) (((bits)+31)/32*4)
#define DIB_HEADER_MARKER ((WORD)('M'<<8)|'B')
BOOL WINAPI PaintDIB(HDC,LPRECT,HDIB,LPRECT,CPalette* pPal);
BOOL WINAPI CreateDIBPalette(HDIB hDIB,CPalette* cPal);
LPSTR WINAPI FindDIBBits(LPSTR lpbi);
DWORD WINAPI DIBWidth(LPSTR lpDIB);
DWORD WINAPI DIBHeight(LPSTR lpDIB);
WORD WINAPI PaletteSize(LPSTR lpbi);
WORD WINAPI DIBNumColors(LPSTR lpbi);
HGLOBAL WINAPI CopyHandle(HGLOBAL h);
BOOL WINAPI SaveDIB(HDIB hDib,CFile& file);
HDIB WINAPI ReadDIBFile(CFile& file);
//在此處輸入自己的函數聲明
#endif//!_INC_DIBAPI
上面這些函數是實現圖像的讀取、存儲等圖像處理的基本功能的,你將自己需要的函數也輸入到「//在此處輸入自己的函數聲明」的下面。
點開DIBAPI.cpp文件,裡面是空白的,將如下代碼加入其中:
//DIBAPI.cpp
#include "stdafx.h"
#include "DIBAPI.h"
WORD WINAPI DIBNumColors(LPSTR lpbi)
{
WORD wBitCount;
if(IS_WIN30_DIB(lpbi))
{
DWORD dwClrUsed;
dwClrUsed=((LPBITMAPINFOHEADER)lpbi)->biClrUsed;
if(dwClrUsed)
return (WORD)dwClrUsed;
}
if(IS_WIN30_DIB(lpbi))
wBitCount=((LPBITMAPINFOHEADER)lpbi)->biBitCount;
else
wBitCount=((LPBITMAPCOREHEADER)lpbi)->bcBitCount;
switch(wBitCount)
{
case 1:
return 2;
case 4:
return 16;
case 8:
return 256;
default:
return 0;
}
}
WORD WINAPI PaletteSize(LPSTR lpbi)
{
if(IS_WIN30_DIB(lpbi))
return (WORD)(DIBNumColors(lpbi)*sizeof(RGBQUAD));
else
return (WORD)(DIBNumColors(lpbi)*sizeof(RGBTRIPLE));
}
LPSTR WINAPI FindDIBBits(LPSTR lpbi)
{
return (lpbi+*(LPDWORD)lpbi+::PaletteSize(lpbi));
}
DWORD WINAPI DIBWidth(LPSTR lpDIB)
{
LPBITMAPINFOHEADER lpbmi;
LPBITMAPCOREHEADER lpbmc;
lpbmi=(LPBITMAPINFOHEADER)lpDIB;
lpbmc=(LPBITMAPCOREHEADER)lpDIB;
if(IS_WIN30_DIB(lpDIB))
return lpbmi->biWidth;
else
return (DWORD)lpbmc->bcWidth;
}
DWORD WINAPI DIBHeight(LPSTR lpDIB)
{
LPBITMAPINFOHEADER lpbmi;
LPBITMAPCOREHEADER lpbmc;
lpbmi=(LPBITMAPINFOHEADER)lpDIB;
lpbmc=(LPBITMAPCOREHEADER)lpDIB;
if(IS_WIN30_DIB(lpDIB))
return lpbmi->biHeight;
else
return (DWORD)lpbmc->bcHeight;
}
BOOL WINAPI PaintDIB(HDC hDC,LPRECT lpDCRect,HDIB hDIB,LPRECT lpDIBRect,CPalette* pPal)
{
LPSTR lpDIBHdr;
LPSTR lpDIBBits;
BOOL bSuccess=FALSE;
HPALETTE hPal=NULL;
HPALETTE hOldPal=NULL;
if(hDIB==NULL)
return FALSE;
lpDIBHdr=(LPSTR)::GlobalLock((HGLOBAL)hDIB);
lpDIBBits=FindDIBBits(lpDIBHdr);
if(pPal!=NULL)
{
hPal=(HPALETTE)pPal->m_hObject;
hOldPal=::SelectPalette(hDC,hPal,TRUE);
}
::SetStretchBltMode(hDC,COLORONCOLOR);
if((RECTWIDTH(lpDCRect)==RECTWIDTH(lpDIBRect))&&(RECTHEIGHT(lpDCRect)==RECTHEIGHT(lpDIBRect)))
{
bSuccess=::SetDIBitsToDevice(hDC,lpDCRect->left,lpDCRect->top,RECTWIDTH(lpDCRect),RECTHEIGHT(lpDCRect),lpDIBRect->left,\
(int)DIBHeight(lpDIBHdr)-lpDIBRect->top-RECTHEIGHT(lpDIBRect),0,(WORD)DIBHeight(lpDIBHdr),\
lpDIBBits,(LPBITMAPINFO)lpDIBHdr,DIB_RGB_COLORS);
}
else
{
bSuccess=::StretchDIBits(hDC,lpDCRect->left,lpDCRect->top,RECTWIDTH(lpDCRect),RECTHEIGHT(lpDCRect),lpDIBRect->left,\
lpDIBRect->top,RECTWIDTH(lpDIBRect),RECTHEIGHT(lpDIBRect),\
lpDIBBits,(LPBITMAPINFO)lpDIBHdr,DIB_RGB_COLORS,SRCCOPY);
}
::GlobalUnlock((HGLOBAL)hDIB);
if(hOldPal)
::SelectPalette(hDC,hOldPal,TRUE);
GlobalUnlock(hDIB);
return bSuccess;
}
BOOL WINAPI CreateDIBPalette(HDIB hDIB,CPalette* pPal)
{
LPLOGPALETTE lpPal;
HANDLE hLogPal;
HPALETTE hPal=NULL;
LPSTR lpbi;
LPBITMAPINFO lpbmi;
LPBITMAPCOREINFO lpbmc;
BOOL bWinStyleDIB;
int i;
WORD wNumColors;
BOOL bResult=FALSE;
if(hDIB==NULL)
return FALSE;
lpbi=(LPSTR)::GlobalLock((HGLOBAL)hDIB);
lpbmi=(LPBITMAPINFO)lpbi;
lpbmc=(LPBITMAPCOREINFO)lpbi;
wNumColors=DIBNumColors(lpbi);
bWinStyleDIB=IS_WIN30_DIB(lpbi);
if(wNumColors!=0)
{
hLogPal=::GlobalAlloc(GHND,sizeof(LOGPALETTE)+sizeof(PALETTEENTRY)*wNumColors);
if(hLogPal==0)
{
::GlobalUnlock((HGLOBAL)hDIB);
return FALSE;
}
lpPal=(LPLOGPALETTE)::GlobalLock(hLogPal);
lpPal->palVersion=PALVERSION;
lpPal->palNumEntries=(WORD)wNumColors;
bWinStyleDIB=IS_WIN30_DIB(lpbi);
for(i=0;i<(int)wNumColors;i++)
{
if(bWinStyleDIB)
{
lpPal->palPalEntry[i].peRed=lpbmi->bmiColors[i].rgbRed;
lpPal->palPalEntry[i].peGreen=lpbmi->bmiColors[i].rgbGreen;
lpPal->palPalEntry[i].peBlue=lpbmi->bmiColors[i].rgbBlue;
lpPal->palPalEntry[i].peFlags=0;
}
else
{
lpPal->palPalEntry[i].peRed=lpbmc->bmciColors[i].rgbtRed;
lpPal->palPalEntry[i].peGreen=lpbmc->bmciColors[i].rgbtGreen;
lpPal->palPalEntry[i].peBlue=lpbmc->bmciColors[i].rgbtBlue;
lpPal->palPalEntry[i].peFlags=0;
}
}
bResult=pPal->CreatePalette(lpPal);
::GlobalUnlock((HGLOBAL)hLogPal);
::GlobalFree((HGLOBAL)hLogPal);
}
::GlobalUnlock((HGLOBAL)hDIB);
return bResult;
}
HGLOBAL WINAPI CopyHandle(HGLOBAL h)
{
if(h==NULL)
return NULL;
DWORD dwLen=::GlobalSize((HGLOBAL)h);
HGLOBAL hCopy=::GlobalAlloc(GHND,dwLen);
if(hCopy!=NULL)
{
void* lpCopy=::GlobalLock((HGLOBAL)hCopy);
void* lp=::GlobalLock((HGLOBAL)h);
memcpy(lpCopy,lp,dwLen);
::GlobalUnlock(hCopy);
::GlobalUnlock(h);
}
return hCopy;
}
BOOL WINAPI SaveDIB(HDIB hDib,CFile& file)
{
BITMAPFILEHEADER bmfHdr;
LPBITMAPINFOHEADER lpBI;
DWORD dwDIBSize;
if(!hDib)
return FALSE;
lpBI=(LPBITMAPINFOHEADER)::GlobalLock((HGLOBAL)hDib);
if(lpBI==NULL)
return FALSE;
if(!IS_WIN30_DIB(lpBI))
{
::GlobalUnlock((HGLOBAL)hDib);
return FALSE;
}
bmfHdr.bfType=DIB_HEADER_MARKER;
dwDIBSize=*(LPDWORD)lpBI+::PaletteSize((LPSTR)lpBI);
if((lpBI->biCompression==BI_RLE8)||(lpBI->biCompression==BI_RLE4))
dwDIBSize+=lpBI->biSizeImage;
else
{
DWORD dwBmBitsSize;
dwBmBitsSize=WIDTHBYTES((lpBI->biWidth)*((DWORD)lpBI->biBitCount))*lpBI->biHeight;
dwDIBSize+=dwBmBitsSize;
lpBI->biSizeImage=dwBmBitsSize;
}
bmfHdr.bfSize=dwDIBSize+sizeof(BITMAPFILEHEADER);
bmfHdr.bfReserved1=0;
bmfHdr.bfReserved2=0;
bmfHdr.bfOffBits=(DWORD)sizeof(BITMAPFILEHEADER)+lpBI->biSize+::PaletteSize((LPSTR)lpBI);
TRY
{
file.Write((LPSTR)&bmfHdr,sizeof(BITMAPFILEHEADER));
file.WriteHuge(lpBI,dwDIBSize);
}
CATCH(CFileException,e)
{
::GlobalUnlock((HGLOBAL)hDib);
THROW_LAST();
}
END_CATCH
::GlobalUnlock((HGLOBAL)hDib);
return TRUE;
}
HDIB WINAPI ReadDIBFile(CFile& file)
{
BITMAPFILEHEADER bmfHeader;
DWORD dwBitsSize;
HDIB hDIB;
LPSTR pDIB;
dwBitsSize=file.GetLength();
if(file.Read((LPSTR)&bmfHeader,sizeof(bmfHeader))!=sizeof(bmfHeader))
return NULL;
if(bmfHeader.bfType!=DIB_HEADER_MARKER)
return NULL;
hDIB=(HDIB)::GlobalAlloc(GMEM_MOVEABLE|GMEM_ZEROINIT,dwBitsSize);
if(hDIB==0)
return NULL;
pDIB=(LPSTR)::GlobalLock((HGLOBAL)hDIB);
if(file.ReadHuge(pDIB,dwBitsSize-sizeof(BITMAPFILEHEADER))!=dwBitsSize-sizeof(BITMAPFILEHEADER))
{
::GlobalUnlock((HGLOBAL)hDIB);
::GlobalFree((HGLOBAL)hDIB);
return NULL;
}
::GlobalUnlock((HGLOBAL)hDIB);
return hDIB;
}
//在此處輸入自己的函數定義
上面是DIBAPI.h頭文件中聲明的函數的定義,你將自己的函數定義加到「//在此處輸入自己的函數定義」後面。
下面加相應的消息映射函數,點Ctrl+W鍵,會出現MFC ClassWizard對話框,點Message Maps,在Class name下面的框中選擇CMy111Doc,在Messages裡面選中OnOpenDocument,然後點擊Add Function按鈕就加入了相應的消息映射函數,同樣的方法以此加入OnSaveDocument、DeleteContents、CanCloseFrame相應的消息函數,點「確定」即可。
點開111Doc.cpp文件,裡面有相應的消息映射函數定義位置,在函數CMy111Doc::CMy111Doc()里輸入以下代碼:
m_refColorBKG=0x00808080;
m_hDIB=NULL;
m_palDIB=NULL;
m_sizeDoc=CSize(1,1);
在函數CMy111Doc::~CMy111Doc()里輸入以下代碼:
if(m_hDIB!=NULL)
::GlobalFree((HGLOBAL)m_hDIB);
if(m_palDIB!=NULL)
delete m_palDIB;
在函數BOOL CMy111Doc::OnOpenDocument(LPCTSTR lpszPathName)里/ TODO: Add your specialized creation code here下面添加如下代碼:
CFile file;
CFileException fe;
if(!file.Open(lpszPathName,CFile::modeRead|CFile::shareDenyWrite,&fe))
{
ReportSaveLoadException(lpszPathName,&fe,FALSE,AFX_IDP_FAILED_TO_OPEN_DOC);
return FALSE;
}
DeleteContents();
BeginWaitCursor();
TRY
{
m_hDIB=::ReadDIBFile(file);
}
CATCH(CFileException,eLoad)
{
file.Abort();
EndWaitCursor();
ReportSaveLoadException(lpszPathName,eLoad,FALSE,AFX_IDP_FAILED_TO_OPEN_DOC);
m_hDIB=NULL;
return FALSE;
}
END_CATCH
InitDIBData();
EndWaitCursor();
if(m_hDIB==NULL)
{
CString strMsg;
strMsg="讀取圖像時出錯!可能是不支持該類型的圖像文件!";
MessageBox(NULL,strMsg,NULL,MB_ICONINFORMATION|MB_OK);
return FALSE;
}
SetPathName(lpszPathName);
SetModifiedFlag(FALSE);
在函數BOOL CMy111Doc::OnSaveDocument(LPCTSTR lpszPathName)里// TODO: Add your specialized code here and/or call the base class後面添加如下代碼:
CFile file;
CFileException fe;
if(!file.Open(lpszPathName,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive,&fe))
{
ReportSaveLoadException(lpszPathName,&fe,TRUE,AFX_IDP_INVALID_FILENAME);
return FALSE;
}
BOOL bSuccess=FALSE;
TRY
{
BeginWaitCursor();
bSuccess=::SaveDIB(m_hDIB,file);
file.Close();
}
CATCH(CException,eSave)
{
file.Abort();
EndWaitCursor();
ReportSaveLoadException(lpszPathName,eSave,TRUE,AFX_IDP_FAILED_TO_SAVE_DOC);
return FALSE;
}
END_CATCH
EndWaitCursor();
SetModifiedFlag(FALSE);
if(!bSuccess)
{
CString strMsg;
strMsg="無法保存BMP圖像";
MessageBox(NULL,strMsg,NULL,MB_ICONINFORMATION|MB_OK);
}
點開ClassView,右鍵點擊CMy111Doc類,點Add Member Variable出現添加成員變數對話框,在Variable Type下的框中輸入變數類型名HDIB,在Variable Name中輸入變數名m_hDIB,在Access中選中Public就在CMy111Doc中加入了公共成員變數m_hDIB;同樣加入int類型的m_nColorIndex、COLORREF類型的m_refColorBKG公共成員變數,再添加保護成員變數(在Access中選中Protected)CSize類的m_sizeDoc、CPalette*類的m_palDIB變數。右鍵點擊CMy111Doc類,點Add Member Function出現添加成員函數對話框,在Function Type下的框中輸入函數類型名void,在Function Declaration中輸入函數名InitDIBData(),在Access中選中Public就在CMy111Doc中加入了公共成員函數InitDIBData();同樣方法加入void類型的公共成員函數ReplaceHDIB(HDIB hDIB)。在111Doc.cpp中加入函數的代碼,InitDIBData()里加如下代碼:
if(m_palDIB!=NULL)
{
delete m_palDIB;
m_palDIB=NULL;
}
if(m_hDIB==NULL)
return;
LPSTR lpDIB=(LPSTR)::GlobalLock((HGLOBAL)m_hDIB);
if(::DIBWidth(lpDIB)>INT_MAX||::DIBHeight(lpDIB)>INT_MAX)
{
::GlobalUnlock((HGLOBAL)m_hDIB);
::GlobalFree((HGLOBAL)m_hDIB);
m_hDIB=NULL;
CString strMsg;
strMsg="BMP圖像太大!";
MessageBox(NULL,strMsg,NULL,MB_ICONINFORMATION|MB_OK);
return;
}
m_sizeDoc=CSize((int)::DIBWidth(lpDIB),(int)::DIBHeight(lpDIB));
::GlobalUnlock((HGLOBAL)m_hDIB);
m_palDIB=new CPalette;
if(m_palDIB==NULL)
{
::GlobalFree((HGLOBAL)m_hDIB);
m_hDIB=NULL;
return;
}
if(::CreateDIBPalette(m_hDIB,m_palDIB)==NULL)
{
delete m_palDIB;
m_palDIB=NULL;
return;
}
在函數ReplaceHDIB(HDIB hDIB)中加入如下代碼:
if(m_hDIB!=NULL)
::GlobalFree((HGLOBAL)m_hDIB);
m_hDIB=hDIB;
在CMy111doc.h的
// Attributes
public:
下面加入如下代碼:
HDIB GetHDIB() const
{
return m_hDIB;
}
CPalette* GetDocPalette() const
{
return m_palDIB;
}
CSize GetDocSize() const
{
return m_sizeDoc;
}
注意要在111Doc.h前加上#include "DIBAPI.h"語句(在class CMy111Doc:public CDocument語句前)
下面為CMy111View中的函數 void CMy111View::OnDraw(CDC* pDC)中添加如下代碼:
BeginWaitCursor();
CMy111* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
HDIB hDIB=pDoc->GetHDIB();
if(hDIB!=NULL)
{
LPSTR lpDIB=(LPSTR)::GlobalLock((HGLOBAL)hDIB);
int cxDIB=(int)::DIBWidth(lpDIB);
int cyDIB=(int)::DIBHeight(lpDIB);
::GlobalUnlock((HGLOBAL)hDIB);
CRect rcDIB;
rcDIB.top=rcDIB.left=0;
rcDIB.right=cxDIB;
rcDIB.bottom=cyDIB;
CRect rcDest;
if(pDC->IsPrinting())
{
int cxPage=pDC->GetDeviceCaps(HORZRES);
int cyPage=pDC->GetDeviceCaps(VERTRES);
int cxInch=pDC->GetDeviceCaps(LOGPIXELSX);
int cyInch=pDC->GetDeviceCaps(LOGPIXELSY);
rcDest.top=rcDest.left=0;
rcDest.bottom=(int)(((double)cyDIB*cxPage*cyInch)/((double)cxDIB*cxInch));
rcDest.right=cxPage;
int temp=cyPage-(rcDest.bottom-rcDest.top);
rcDest.bottom+=temp/2;
rcDest.top+=temp/2;
}
else
{
rcDest=rcDIB;
}
::PaintDIB(pDC->m_hDC,&rcDest,pDoc->GetHDIB(),&rcDIB,pDoc->GetDocPalette());
}
EndWaitCursor();
以上是關於圖像打開、顯示、保存的有關步驟和代碼。
在111.cpp文件的InitInstance()函數的ParseCommandLine(cmdInfo);語句下輸入語句
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
則啟動時不自動打開一個空文檔。
顯示圖像直方圖步驟:
1、 點擊ResourceView,右鍵點擊Dialog,選Insert Dialog 在屬性對話框中將ID改為ID_HIST,對話框名稱改為「直方圖」
2、 在工具欄中點「插入」-「新建類」,輸入類名,並選Base Class為CDialog,Dialog ID為ID_HIST。這樣就將對話框和類聯系起來了,在該對話框中拖入一Edit控制項,將其ID設為IDC_HISTSHOW;
3、 快捷鍵「Ctrl+W」,出現MFC ClassWizard對話框,在Messages欄中分別選WM_INITDIALOG和WM_Paint,再點擊「Add Function」,即將對話框初始化和畫圖函數加入對話框類之中。
4、 在Hist.h文件「public:」下面輸入如下變數定義:
LONG m_lCount[256];
char* m_lpDIBBits;
LONG m_lWidth;
LONG m_lHeight;
int m_iIsDraging;
CDlgIntensity(CWnd* pParent = NULL);
5、 打開Hist.cpp程序,在CHist::OnInitDialog()函數中「// TODO: Add extra initialization here」前將如下代碼拷貝進去:
unsigned char* lpSrc;
LONG i;
LONG j;
6、 在「// TODO: Add extra initialization here」後將如下代碼拷貝進去:
CWnd* pWnd=GetDlgItem(IDC_HISTSHOW);
CRect rect;
GetClientRect(rect);
ClientToScreen(&rect);
for(i=0;i<256;i++)
{
m_lCount[i]=0;
}
LONG lLineBytes;
lLineBytes=WIDTHBYTES(m_lWidth*8);
for(i=0;i<m_lHeight;i++)
{
for(j=0;j<m_lWidth;j++)
{
lpSrc=(unsigned char*)m_lpDIBBits+lLineBytes*i+j;
m_lCount[*(lpSrc)]++;
}
}
m_iIsDraging=0;
7、在CHist::OnPaint()函數「CPaintDC dc(this);」前將如下代碼拷如其中:
CString str;
LONG i;
LONG lMaxCount=0;
LONG m_iLowGray=0;
LONG m_iUpGray=255;
在CHist::OnPaint()函數「// TODO: Add your message handler code here」後將如下代碼拷如其中:
CWnd* pWnd=GetDlgItem(IDC_ HISTSHOW);
CDC* pDC=pWnd->GetDC();
pWnd->Invalidate();
pWnd->UpdateWindow();
pDC->Rectangle(0,0,330,300);
CPen* pPenRed=new CPen;
pPenRed->CreatePen(PS_SOLID,1,RGB(255,0,0));
CPen* pPenBlue=new CPen;
pPenBlue->CreatePen(PS_SOLID,1,RGB(0,0,255));
CPen* pPenGreen=new CPen;
pPenGreen->CreatePen(PS_SOLID,1,RGB(0,255,0));
CGdiObject* pOldPen=pDC->SelectObject(pPenRed);
pDC->MoveTo(10,10);
pDC->LineTo(10,280);
pDC->LineTo(320,280);
str.Format("0");
pDC->TextOut(10,283,str);
str.Format("50");
pDC->TextOut(60,283,str);
str.Format("100");
pDC->TextOut(110,283,str);
str.Format("150");
pDC->TextOut(160,283,str);
str.Format("200");
pDC->TextOut(210,283,str);
str.Format("255");
pDC->TextOut(265,283,str);
for(i=0;i<256;i+=5)
{
if((i&1)==0)
{
pDC->MoveTo(i+10,280);
pDC->LineTo(i+10,284);
}
else
{
pDC->MoveTo(i+10,280);
pDC->LineTo(i+10,282);
}
}
pDC->MoveTo(315,275);
pDC->LineTo(320,280);
pDC->LineTo(315,285);
pDC->MoveTo(10,10);
pDC->LineTo(5,15);
pDC->MoveTo(10,10);
pDC->LineTo(15,15);
for(i=m_iLowGray;i<=m_iUpGray;i++)
{
if(m_lCount[i]>lMaxCount)
{
lMaxCount=m_lCount[i];
}
}
pDC->MoveTo(10,25);
pDC->LineTo(14,25);
str.Format("%d",lMaxCount);
pDC->TextOut(11,26,str);
pDC->SelectObject(pPenGreen);
pDC->MoveTo(m_iLowGray+10,25);
pDC->LineTo(m_iLowGray+10,280);
pDC->MoveTo(m_iUpGray+10,25);
pDC->LineTo(m_iUpGray+10,280);
pDC->SelectObject(pPenBlue);
if(lMaxCount>0)
{
for(i=m_iLowGray;i<=m_iUpGray;i++)
{
pDC->MoveTo(i+10,280);
pDC->LineTo(i+10,281-(int)(m_lCount[i]*256/lMaxCount));
}
}
pDC->SelectObject(pOldPen);
delete pPenRed;
delete pPenBlue;
delete pPenGreen;
8、點開ResourceView中的Menu,出現IDR_MAINFRAME和 IDR_MY111TYPE,雙擊IDR_MY111TYPE就出現了程序界面,有文件、編輯、查看、窗口、幫助按鈕。點「查看」下面的虛線框右鍵——點「屬性」,輸入標題(直方圖),和ID(大寫英文,如ID_VIEW_HIST),這樣就將按鈕和程序通過ID聯系起來了,點擊該按鈕,就會執行相應的程序。下面為該按鈕添加函數:點Ctrl+W ,出現MFC ClassWizard對話框,選Class name為CMy111View,在Object IDs對應的選項中選中設置的ID(如為ID_VIEW_HIST),在Messages選項中選中COMMAND,然後點擊「Add Function」按鈕,選默認設置,就為ID_VIEW_HIST添加了相應的函數OnViewHist()。該函數在111View.cpp文件中定義,在函數void CMy111View:: OnViewHist()添加如下代碼:
// TODO: Add your command handler code here
CMy111Doc* pDoc=GetDocument();
if(pDoc->m_hDIB==NULL)
{
MessageBox("請先打開一幅256色的BMP圖像!","系統提示",MB_ICONINFORMATION|MB_OK);
return;
}
LPSTR lpDIB;
LPSTR lpDIBBits;
lpDIB=(LPSTR)::GlobalLock((HGLOBAL)pDoc->GetHDIB());
lpDIBBits=::FindDIBBits(lpDIB);
if(::DIBNumColors(lpDIB)!=256)
{
MessageBox("目前只支持查看256色點陣圖灰度直方圖!","系統提示",MB_ICONINFORMATION|MB_OK);
::GlobalUnlock((HGLOBAL)pDoc->GetHDIB());
return;
}
BeginWaitCursor();
CHist dlgPara;
dlgPara.m_lpDIBBits=lpDIBBits;
dlgPara.m_lWidth=::DIBWidth(lpDIB);
dlgPara.m_lHeight=::DIBHeight(lpDIB);
// dlgPara.m_iLowGray=0;
// dlgPara.m_iUpGray=255;
if(dlgPara.DoModal()!=IDOK)
{
return;
}
::GlobalUnlock((HGLOBAL)pDoc->GetHDIB());
EndWaitCursor();
㈤ 灰度和陌陌什麼關系
您好,簡單說下灰度的來頭。灰度背後是DCG——數字貨幣集團,它是幣圈的隱形巨鱷,布局的業務囊括幣圈半壁江山。同時,DCG集團與萬事達卡、納斯達克、美國芝加哥交易所、比特幣核心開發組都有千絲萬縷的關系,這也是前面說灰度「根正苗紅」的原因。
灰度的產品很豐富,有BTC信託、BCH信託、ETH信託、ETC信託、LTC信託等等。其中,BTC信託和ETH信託都已經在美國SEC注冊。
MOMO是陌陌(NASDAQ:MOMO)於2011年8月推出的一款基於地理位置的開放式移動視頻社交應用,是中國的開放式社交平台。【摘要】
灰度和陌陌什麼關系【提問】
您好,簡單說下灰度的來頭。灰度背後是DCG——數字貨幣集團,它是幣圈的隱形巨鱷,布局的業務囊括幣圈半壁江山。同時,DCG集團與萬事達卡、納斯達克、美國芝加哥交易所、比特幣核心開發組都有千絲萬縷的關系,這也是前面說灰度「根正苗紅」的原因。
灰度的產品很豐富,有BTC信託、BCH信託、ETH信託、ETC信託、LTC信託等等。其中,BTC信託和ETH信託都已經在美國SEC注冊。
MOMO是陌陌(NASDAQ:MOMO)於2011年8月推出的一款基於地理位置的開放式移動視頻社交應用,是中國的開放式社交平台。【回答】
㈥ 以太坊經典ETC怎麼買
其實絕大部分交易平台都支持ETH-以太坊交易
㈦ 4月13日灰度信託持倉數據是多少
btc:總計持有:654172btc、24H持倉變化: -103.8555btc、灰度持倉佔比: 3.12%
ltc:總計持有:1502590ltc、24H持倉變化: -308.7984ltc灰度持倉佔比: 1.79%
eth:總計持有:3171147eth、24H持倉變化: -651.3329eth、灰度持倉佔比: 2.75%
bch:總計持有:293928bch、24H持倉變化: -60.3736bch、灰度持倉佔比: 1.40%
etc:總計持有:12421533etc、24H持倉變化: -3063.3828etc灰度持倉佔比: 5.90%
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
㈧ 灰度是什麼公司
2014年,SecondMarket公司創始人BarrySilbert將這只比特幣投資基金從原公司中脫離出來,成立了灰度投資公司(GrayscaleInvestments)。
2015年,灰度投資公司被歸並到新成立的數字貨幣集團(DigitalCurrencyGroup,簡稱DCG)旗下。DCG不僅僅專注於數字貨幣和區塊鏈的投資,同時也是一個初創企業的孵化器。DCG旗下除了灰度投資公司外,還有加密貨幣場外交易經紀商Genesis、區塊鏈新聞資訊網站CoinDesk兩家子公司,以及投資的150多個其他區塊鏈公司/項目。
經過多年的發展,灰度投資公司已經成為全球最大的加密貨幣資產管理公司,旗下的加密貨幣信託規模已經達到25.8億美元。
(8)灰度eth信託擴展閱讀:
2013年,創始人BarrySilbert說服了SecondMarket公司的董事會,拿出一部分資金成立了名為BitcoinInvestmentTrust的比特幣投資基金,這只基金就是灰度投資公司比特幣信託(GrayscaleBitcoinTrust)的前身。直到2017年9月,灰度投資公司的比特幣信託基金才開始出現爆發式增長。
它已經成為全球最大的比特幣投資信託基金,擁有的比特幣數量超過40.85萬枚,將近比特幣總量的2%。除了比特幣信託基金,灰度投資公司還推出了BCH、ETH、ETC、Horizen、LTC、XLM、XRP、ZEC的信託基金,以及包含主流幣種的復合型加密貨幣信託基金(GrayscaleDigitalLargeCapFund)。灰度投資公司的加密貨幣信託產品,為機構用戶購買加密貨幣提供了便利。
㈨ 灰度6月11日持倉數據是
灰度信託基金最新持倉數據:
BTC信託持倉量:652130,24h內-36,當前溢價率-21.53%;
ETH信託持倉量:3158790,24h內-216,當前溢價率-6.75%;
LTC信託持倉量:1507940,24h內+413,當前溢價率+1297.00%;
BCH信託持倉量:292964,24h內+20,當前溢價率+205.43%;
ETC信託持倉量:12363500,24h內-1016,當前溢價率-40.52%;
ZEC信託持倉量:327249,24h內-22,
XLM信託持倉量:68884600,24h內-4718,
ZEN信託持倉量:604221,24h內-41。
灰度增持117.82枚LTC 其餘幣種未增持 美東時間6月10日,灰度信託持倉數據變化如下:
灰度LTC信託持倉量增加117.82枚(+0.01%),總持倉量為1507954.36 LTC,LTCN溢價率1105.13%;
灰度BTC、ETH、ETC、BCH、BAT、LINK、MANA、FIL、LPT信託當日未增持,GBTC溢價率-13.04%、ETHE溢價率-7.1%、ETCG溢價率-41.14%、BCHG溢價率194.38%。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
㈩ poc上了幾個交易所
AppDownload算力糖果POC上線6家交易所 共享交易深度 i傳播 · 個人專欄2019/05/09 14:33 4175關注 截止2019年5月,算力糖果POC共計上線6家交易所,同時開通POC/ETH交易對,同時登陸非小號排行榜,各交易所之間將共享POC交易深度、撮合,上線即擁有全平台的行情、K線等數據。1905091408442137210845.pngPOC作為數字資產交易平台的生態通證,包括投資人保障基金、項目上線投票、支付交易費用、激勵機制、平台服務購買和商業生態聯盟等應用場景使其具有較大的價值依託。POC上線的6家交易所分別是:鏈易CE.COOL、ZT.COM、FUBT、雷盾交易所、BIONE、幣君交易所,後續將上線更多交易所商家,共享交易深度。目前各交易所日交易量達到3.8億枚/日。190509140844702765652.png交易深度」通常也被叫做「市場深度」,是指某種代幣可以推動其價格出現一定幅度變化的訂單數量,它代表著平台在承受大額交易時是否能保障價格穩定的能力,反映了市場的流動性和成熟性。POC入駐6家交易所平台,並且共享深度和流動性,將實現多方共贏。7家交易所之間共享POC/ETH交易深度和流動性,對交易所來說,POC是價值紐帶,通過共享交易深度和流動性,能夠更加高效的用戶熱度,快速積累大量的用戶,創造更多的收入和價值;對POC而言,通過共享交易深度和流動性,能夠讓POC獲得更大的流量和流通場景;對於用戶而言,降低由於價格暴漲暴跌而形成的交易風險,同時大額交易時市價相對更穩定,交易成本更低,享受任意數額、流暢及時的交易體驗。19050914084464216899.jpeg未來,在眾多應用場景的價值依託,專業團隊的運營,成熟技術的保障,眾多專業交易所共享交易深度和流動性的絕對優勢下,POC勢必在百花齊放的項目中更具有價值和競爭力。190509140845191542036.png聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。本文作者:i傳播分享到+收藏 +關注更多資訊更多活動更多免責聲明: 金色財經作為開放的資訊分享平台,所提供的所有資訊僅代表作者個人觀點,與金色財經平台立場無關,且不構成任何投資理財建議。PC桌面站點AppDownloadAPP下載風險提示防範以「虛擬貨幣」「區塊鏈」名義進行非法集資的風險 ——銀保監會等五部門京ICP備16049139號