bipal虚拟货币
㈠ c++智能机器人问答系统设计
BOOLCALLBACKexBeginCapture(HANDLEhBoard)
{
short width,height;
long form;
if(bDispToScreen)
{
bufform=exGetTargetSize(hBoard,BUFFER,&width,&height);
form=okSetCaptureParam(hBoard,CAPTURE_SCRRGBFORMAT,GETCURRPARAM);//-1
{//treatrotate
shorttemp;
temp=(short)okSetConvertParam(hBoard,CONVERT_UPRIGHT,-1);//un
if(temp>0){
temp=width;
width=height;
height=temp;
}
}
exSetBitmapHeader(lpbi,width,height,HIWORD(form),LOWORD(form));
if(bDispToScreen>1)
{//
if(bDispToScreen==3)
{//makepseudo-display
int i;
#define way1
#ifdef way1
//way1byconvert
{
PALETTEENTRY palPalEntry[256];
exSetBitmapHeader(lpbi,width,height,HIWORD(form),LOWORD(form));
//justexamtosetpalettetoyellow
for(i=0;i<256;i++){
palPalEntry[i].peRed=(BYTE)i;
palPalEntry[i].peGreen=(BYTE)i;
palPalEntry[i].peBlue=(BYTE)0;
palPalEntry[i].peFlags=0;
}
//if(LOWORD(blkform)!=FORM_GRAY8)////setmappingpalette
okSetConvertParam(hBoard,CONVERT_PALETTE,(LPARAM)palPalEntry);
}
#else
//way2bywindowspalette
{
RGBQUAD *lpRGB=(RGBQUAD*)((LPSTR)lpbi+lpbi->biSize);
for(i=0;i<256;i++)
{
lpRGB[i].rgbRed=(BYTE)i;
lpRGB[i].rgbGreen=(BYTE)i;
lpRGB[i].rgbBlue=(BYTE)0;
lpRGB[i].rgbReserved=0;
}
}
#endif
}
}
}
blk.lpBits=(LPBYTE)lpdib;
blk.iBitCount=lpbi->biBitCount;
if(bMakeMirror&1)//xmirror
blk.iWidth=-(short)lpbi->biWidth;
else
blk.iWidth=(short)lpbi->biWidth;
if(okSetCaptureParam(hBoard,CAPTURE_SAMPLEFIELD,-1)==0)//sampleinfieldbyfield
if(LOWORD(okSetVideoParam(hBoard,VIDEO_SIGNALTYPE,-1))==1)//interlacevideo
if(okSetConvertParam(hBoard,CONVERT_FIELDEXTEND,-1)!=0)
lpbi->biHeight*=2;//doublesizeforht
if(bMakeMirror&2)//ymirror
blk.iHeight=(short)lpbi->biHeight;//ymirror
else
blk.iHeight=-(short)lpbi->biHeight;//note:
elapsed=GetTickCount();
numframe=0;
return1;
}
㈡ 魔兽世界的金币算不算虚拟货币
时光徽章对应只是个道具
再且你说错了 RMB不能直接购买徽章 是RMB换成战网点数再进行购买的
㈢ 帮帮我,用c语言编程,制作一个256*256的灰度图
彩色图到灰度图的转换
BOOL ColortoGrayScale(HWND hWnd)
{
DWORD SrcBufSize,DstBufSize,DstLineBytes;
LPBITMAPINFOHEADER lpImgData;
LPSTR lpPtr;
HLOCAL hTempImgData;
LPBITMAPINFOHEADER lpTempImgData;
LPSTR lpTempPtr;
HDC hDc;
HFILE hf;
LONG x,y;
BITMAPFILEHEADER DstBf;
BITMAPINFOHEADER DstBi;
LOGPALETTE *pPal;
HPALETTE hPrevPalette;
HLOCAL hPal;
DWORD NewNumColors;
WORD NewBitCount;
float Y;
DWORD i;
unsigned char Red,Green,Blue,Gray;
NewNumColors=NumColors; //NewNumColors为新图的颜色数
NewBitCount=bi.biBitCount; //NewBitCount为新图的颜色位数
if(NumColors==0) //真彩图
{
NewNumColors=256;
NewBitCount=8;
}
//由于颜色位数有可能发生了改变,所以要重新计算每行占用的字节数以及新图
//的缓冲区大小
DstLineBytes=(DWORD)WIDTHBYTES(bi.biWidth*NewBitCount);
DstBufSize=(DWORD)(sizeof(BITMAPINFOHEADER)+NewNumColors*
sizeof(RGBQUAD)+(DWORD)DstLineBytes*bi.biHeight);
//DstBf和DstBi为新的BITMAPFILEHEADER和BITMAPINFOHEADER
//拷贝原来的头信息
memcpy((char *)&DstBf,(char *)&bf,sizeof(BITMAPFILEHEADER));
memcpy((char *)&DstBi,(char *)&bi,sizeof(BITMAPINFOHEADER));
//做必要的改变
DstBf.bfSize=DstBufSize+sizeof(BITMAPFILEHEADER);
DstBf.bfOffBits=(DWORD)(NewNumColors*sizeof(RGBQUAD)+
sizeof(BITMAPFILEHEADER)
+sizeof(BITMAPINFOHEADER));
DstBi.biClrUsed=0;
DstBi.biBitCount=NewBitCount;
//原图的缓冲区的大小
SrcBufSize=bf.bfSize-sizeof(BITMAPFILEHEADER);
if((hTempImgData=LocalAlloc(LHND,DstBufSize))==NULL)
{
MessageBox(hWnd,"Error alloc memory!","Error Message",MB_OK|
MB_ICONEXCLAMATION);
return FALSE;
}
lpImgData=(LPBITMAPINFOHEADER)GlobalLock(hImgData);
lpTempImgData=(LPBITMAPINFOHEADER)LocalLock(hTempImgData);
//拷贝头信息和位图数据
memcpy(lpTempImgData,lpImgData,DstBufSize);
//用新的BITMAPINFOHEADER替换原来的头信息
memcpy(lpTempImgData,(char *)&DstBi,sizeof(BITMAPINFOHEADER));
//lpPtr指向原图的数据
lpPtr=(char *)lpImgData+sizeof(BITMAPINFOHEADER);
//lpTempPtr指向新图的数据
lpTempPtr=(char *)lpTempImgData+sizeof(BITMAPINFOHEADER);
//为新的调色板分配内存
hPal=LocalAlloc(LHND,sizeof(LOGPALETTE) + NewNumColors
* sizeof(PALETTEENTRY));
pPal =(LOGPALETTE *)LocalLock(hPal);
pPal->palNumEntries =(WORD) NewNumColors;
pPal->palVersion = 0x300;
if(NumColors==0) //真彩色
for (i = 0; i < 256; i++) { //灰度从(0,0,0)到(255,255,255)
pPal->palPalEntry[i].peRed=(BYTE)i;
pPal->palPalEntry[i].peGreen=(BYTE)i;
pPal->palPalEntry[i].peBlue=(BYTE)i;
pPal->palPalEntry[i].peFlags=(BYTE)0;
*(lpTempPtr++)=(unsigned char)i;
*(lpTempPtr++)=(unsigned char)i;
*(lpTempPtr++)=(unsigned char)i;
*(lpTempPtr++)=0;
}
else
for (i = 0; i < NewNumColors; i++) { //带调色板的彩色图
Blue=(unsigned char )(*lpPtr++);
Green=(unsigned char )(*lpPtr++);
Red=(unsigned char )(*lpPtr++);
Y=(float)(Red*0.299+Green*0.587+Blue*0.114);
Gray=(BYTE)Y;
lpPtr++;
//从原来的调色板中的颜色计算得到Y值,写入新的调色板
pPal->palPalEntry[i].peRed=Gray;
pPal->palPalEntry[i].peGreen=Gray;
pPal->palPalEntry[i].peBlue=Gray;
pPal->palPalEntry[i].peFlags=0;
*(lpTempPtr++)=(unsigned char)Gray;
*(lpTempPtr++)=(unsigned char)Gray;
*(lpTempPtr++)=(unsigned char)Gray;
*(lpTempPtr++)=0;
}
if(hPalette!=NULL)
DeleteObject(hPalette);
//生成新的逻辑调色板
hPalette=CreatePalette(pPal);
LocalUnlock(hPal);
LocalFree(hPal);
hDc=GetDC(hWnd);
if(hPalette){
hPrevPalette=SelectPalette(hDc,hPalette,FALSE);
RealizePalette(hDc);
}
if(NumColors==0) //真彩色图才需要处理位图数据
for(y=0;y<bi.biHeight;y++){
lpPtr=(char *)lpImgData+(SrcBufSize-LineBytes-y*LineBytes);
lpTempPtr=(char *)lpTempImgData+(DstBufSize-DstLineBytes-y*DstLineBytes);
for(x=0;x<bi.biWidth;x++){
Blue=(unsigned char )(*lpPtr++);
Green=(unsigned char )(*lpPtr++);
Red=(unsigned char )(*lpPtr++);
Y=(float)(Red*0.299+Green*0.587+Blue*0.114);
//从位图数据计算得到Y值,写入新图中
Gray=(BYTE)Y;
*(lpTempPtr++)=(unsigned char)Gray;
}
}
if(hBitmap!=NULL)
DeleteObject(hBitmap);
//产生新的位图
hBitmap=CreateDIBitmap(hDc, (LPBITMAPINFOHEADER)lpTempImgData,
(LONG)CBM_INIT,
(LPSTR)lpTempImgData+sizeof(BITMAPINFOHEADER) +
NewNumColors*sizeof(RGBQUAD),
(LPBITMAPINFO)lpTempImgData, DIB_RGB_COLORS);
if(hPalette && hPrevPalette){
SelectPalette(hDc,hPrevPalette,FALSE);
RealizePalette(hDc);
}
hf=_lcreat("c:\\gray.bmp",0);
_lwrite(hf,(LPSTR)&DstBf,sizeof(BITMAPFILEHEADER));
_lwrite(hf,(LPSTR)lpTempImgData,DstBufSize);
_lclose(hf);
//释放内存和资源
ReleaseDC(hWnd,hDc);
LocalUnlock(hTempImgData);
LocalFree(hTempImgData);
GlobalUnlock(hImgData);
return TRUE;
}
㈣ 您好,请问您有DELPHI读取二进制图片的模板吗我急着学,谢谢。只有30分,都给您了。
function TForm1.loadbmp(sbmpfile:pchar;pdc:HDC): boolean;
var
hbmp:HFILE;
bmfheader:bitmapfileheader;
nfilelen:longword;
bmpinfo:bitmapinfo;
bmpcol:array[0..255] of TRGBQuad;
ncolors:DWORD;
bitcount:WORD;
pal:PLogPalette;
move_sum:longWord;
ppal,Oldppal: hPalette;
//rect1:TRect;
hdib:HGLOBAL;
hdib1:HGLOBAL;
Compression:DWORD;
i,j,data_size:longWord;
k:array [0..1] of byte;
begin
result:=false;
hbmp:=_lopen(sbmpfile,OF_READ);//以二进制模式打开指定的文件
if hbmp=INVALID_HANDLE_VALUE then begin result:=false;exit;end;
nfilelen:=GetFileSize(hbmp,nil); //得到文件长度
//读文件头
if (_lread(hbmp,@bmfheader, sizeof(bitmapfileheader)) <> sizeof(bitmapfileheader))then begin _lclose(hbmp);exit;end;
if bmfheader.bfType <> ( (ord( 'M ')shl 8) or (ord( 'B ')) )then begin _lclose(hbmp);exit;end;
hdib:=GlobalAlloc(GMEM_FIXED,nfilelen-sizeof(bitmapfileheader)); //分配全局内存块
if (_lread(hbmp,pointer(hdib),nfilelen-sizeof(bitmapfileheader))) <> nfilelen-sizeof(bitmapfileheader)then //将文件读入内存块
begin
GlobalFree(hdib); //释放全局内存块
_lclose(hbmp);
exit;
end;
memory(@bmpinfo,pointer(hdib),sizeof(bitmapinfo)); //从内存块中读位图信息
bitcount:=bmpinfo.bmiheader.biBitCount;
Compression:=bmpinfo.bmiheader.biCompression;
move_sum:=0;
if bitcount <=8 then //读入颜色表数据
begin
if bmpinfo.bmiheader.biClrUsed> 0 then
ncolors:=bmpinfo.bmiheader.biClrUsed
else
ncolors:=1 shl bitcount;
memory(@bmpcol,pointer(hdib+sizeof(TBitmapInfoHeader)),sizeof(TRGBQuad)*ncolors); //从内存块中读位图信息中的颜色表数据
GetMem(pal,sizeof(TLogPalette) + sizeof(TPaletteEntry) * (ncolors-1));
pal.palVersion:=$300;
pal.palNumEntries:=ncolors;
for i:=0 to ncolors-1 do
begin
pal.palPalEntry[i].peRed:=bmpcol[i].rgbRed;
pal.palPalEntry[i].peGreen:=bmpcol[i].rgbGreen;
pal.palPalEntry[i].peBlue:=bmpcol[i].rgbBlue;
pal.palPalEntry[i].peFlags:=bmpcol[i].rgbReserved;
bmpinfo.bmiColors[i].rgbRed:=bmpcol[i].rgbRed;
bmpinfo.bmiColors[i].rgbGreen:=bmpcol[i].rgbGreen;
bmpinfo.bmiColors[i].rgbBlue:=bmpcol[i].rgbBlue;
bmpinfo.bmiColors[i].rgbReserved:=bmpcol[i].rgbReserved;
{
rect1.Left:=(i mod 16)*13;
rect1.Right:=rect1.Left+12;
rect1.Top:=(i div 16)*13;
rect1.Bottom:=rect1.Top+12;
image1.Canvas.Brush.Color:=rgb(pal.palPalEntry[i].peRed,pal.palPalEntry[i].peGreen,pal.palPalEntry[i].peBlue);
image1.Canvas.FillRect(rect1);
}
move_sum:=ncolors*sizeof(tagRGBQUAD);
end;
ppal:=createpalette(pal^); //建立逻辑调色板
FreeMem(pal);
if (GetDeviceCaps(pdc,RASTERCAPS) and RC_PALETTE)> 0 then
begin
oldppal:=selectpalette(pdc,ppal,false);//选择调色板
realizepalette(pdc); //逻辑调色板到硬件调色板的映射
end;
end;
move_sum:=move_sum+sizeof(BitmapInfoHeader);
case Compression of //处理 压缩 位图信息数据
BI_RGB: //无压缩
begin
setdibitstodevice(pdc,0,0,bmpinfo.bmiHeader.biwidth,bmpinfo.bmiheader.biheight,
0,0,0,bmpinfo.bmiheader.biheight,pointer(hdib+move_sum),bmpinfo,DIB_RGB_COLORS);
end;
BI_RLE8: //BI_RLE8D压缩
begin
bmpinfo.bmiheader.biCompression:=0;
data_size:=((((bmpinfo.bmiHeader.biWidth*bmpinfo.bmiHeader.biBitCount+31)div 8)div 4)*4*bmpinfo.bmiHeader.biHeight);
hdib1:=GlobalAlloc(GMEM_FIXED,data_size+sizeof(BitmapInfo)); //分配全局内存块
zeromemory(pointer(hdib1),data_size+sizeof(BitmapInfo));
i:=0;j:=0;
while i <nfilelen-move_sum-sizeof(bitmapfileheader) do
begin //....解压位图数据
if (i> 0)and((i mod 2)=1) then i:=i+1;
memory(@k,pointer(hdib+move_sum+i),2);
if k[0] <> 0 then //连续数据解压
begin
FillMemory(pointer(hdib1+j),k[0],k[1]);
j:=j+k[0];
end
else //无连续数据解压
begin
i:=i+2;
memory(pointer(hdib1+j),pointer(hdib+move_sum+i),k[1]);
j:=j+k[1];
i:=i+k[1]-2;
end;
i:=i+2;
if j> data_size+sizeof(BitmapInfo)-1 then break;
end;
setdibitstodevice(pdc,0,0,bmpinfo.bmiHeader.biwidth,bmpinfo.bmiheader.biheight,
0,0,0,bmpinfo.bmiheader.biheight,pointer(hdib1),bmpinfo,DIB_RGB_COLORS);
GlobalFree(hdib1);
end;
BI_RLE4:
begin
end;
BI_BITFIELDS:
begin
end;
end;
if oldppal <> 0 then selectpalette(pdc,oldppal,false);
GlobalFree(hdib);
_lclose(hbmp);
result:=true;
end;
procere TForm1.Button2Click(Sender: TObject);
begin
loadbmp( 'D:\4.bmp ',image1.Canvas.Handle);
end;
㈤ 有人知道虚拟货币中冷钱包和热钱包的区别吗
冷钱包意味着没有联网的电脑或者真实钱包,反过来就是热钱包,两者的区别在于是否联网。也就是安全性的问题。
㈥ 虚拟货币硬件冷钱包和手机离线冷钱包哪个更好有什么原理差别
当然是硬件钱包更安全,手机上的数据易被攻击。