久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2342|回復: 0
打印 上一主題 下一主題
收起左側

C++ 指針與引用

[復制鏈接]
跳轉到指定樓層
樓主
ID:77367 發表于 2015-4-18 20:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
傳遞一個指針變量的引用



// function : String2BW
// description: generate a BW image(bpp==1) with a given string.
// param:
//       pDst[out], Dst image data, ##NB## does not include bitmap head data
//       size[out],Dst image size in Bytes
//       strTitle[in], input string
//       nWidth[in], image width in pixels
//       nHeight[in], image height in pixels
//       iFontSize[in], draw string font size
BOOL String2BW(BYTE*& pDst/*out*/, int& size/*out*/, CString strTitle, int nWidth, int nHeight, int iFontSize = 300)
{
ASSERT(nWidth > 0);
ASSERT(nHeight > 0);
if ( strTitle.IsEmpty() || nWidth <= 0 || nHeight <= 0)
{
return FALSE;
}

if (!pDst)
{
delete pDst;
pDst = NULL;
}

Bitmap *pBitmap = NULL;
RectF textArea;
StringFormat strFormat;
SolidBrush brText(Color::White);


// 生成一個1bpp的圖像出來
pBitmap = new Bitmap(nWidth, nHeight, PixelFormat1bppIndexed);
ASSERT(pBitmap);

//  ResetPalette(m_pBitmap);

//
Graphics *g = Graphics::FromImage(pBitmap);
g->Clear(Color::Black);
//g->SetInterpolationMode( InterpolationModeHighQualityBicubic );

strFormat.SetFormatFlags(StringFormatFlagsNoClip);
Gdiplus::Font textF(L"", (REAL)iFontSize, FontStyleRegular, UnitPoint, NULL);

g->MeasureString(strTitle,
strTitle.GetLength(),
&textF,
RectF(0, 0, 0, 0),
&textArea);

g->DrawString(strTitle,
strTitle.GetLength(),
&textF,
RectF(0,
0,
textArea.Width,
textArea.Height),
&strFormat,
&brText);


// paser data
int  iWidth = pBitmap->GetWidth();// 只有一列的數據,所以偏移量是0bit就夠了  2048
int  iHeight = pBitmap->GetHeight();// 簡單的,原始圖像高度是384了。。。。
Gdiplus::PixelFormat format = pBitmap->GetPixelFormat();

ASSERT(iWidth == nWidth);
ASSERT(iHeight == nHeight);
ASSERT(format == PixelFormat1bppIndexed);

Rect rect(0, 0, nWidth, nHeight);
BitmapData  *pBitmapData = new BitmapData;
pBitmap->LockBits(&rect, ImageLockModeRead, format, pBitmapData);
BYTE *pByte = (BYTE *)pBitmapData->Scan0;

//
size = pBitmapData->Stride * nHeight;
pDst = new BYTE[size];
ASSERT(pDst);

memcpy(pDst, pByte, size);

pBitmap->UnlockBits(pBitmapData);

//clear:
delete pBitmapData;
pBitmapData = NULL;
delete pBitmap;
delete g;

//return pBitmap;
return TRUE;
}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷成人在线 | 国产精品日韩高清伦字幕搜索 | 91精品国产综合久久福利软件 | 久久精品亚洲国产 | 日本午夜精品 | 国产精品一区三区 | 美女视频h | 毛片在线视频 | 自拍偷拍第一页 | 中文字幕第一页在线 | 在线观看三级av | 91网站在线看 | 欧美精品一区二区免费 | 中文字幕欧美日韩 | 国产99久久久国产精品 | 国产一区二区在线免费观看 | 熟女毛片 | 久久亚洲91 | 国产欧美在线视频 | 中文在线а√在线8 | 国产精品夜夜夜一区二区三区尤 | 精品久久久久久久久久久 | av中文字幕在线观看 | 五月婷婷激情网 | 国产成人99久久亚洲综合精品 | 五月网婷婷 | 精品99久久久久久 | 午夜寂寞影院在线观看 | 成人啊啊啊 | av黄色在线 | 伊人久久综合影院 | 久热免费在线 | 成人精品久久 | 久久久久国产一区二区三区 | 久久欧美高清二区三区 | 久久精彩视频 | 亚洲一二三在线观看 | 毛片大全 | 日韩在线视频精品 | 九七午夜剧场福利写真 | 国产不卡在线观看 |