📄 csdn_文档中心_打印位图(下).htm
字号:
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>HANDLE<SPAN style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 2">
</SPAN>handle;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>HDC <SPAN
style="mso-tab-count: 1">
</SPAN><SPAN
style="mso-tab-count: 2">
</SPAN>hDC1;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN></SPAN><SPAN lang=EN-US
style="COLOR: blue; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">if</SPAN><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">(GetDeviceCaps(hDC,RASTERCAPS)
& RC_PALETTE )<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>{<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 2">
</SPAN>UINT nSize = </SPAN><SPAN lang=EN-US
style="COLOR: blue; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">sizeof</SPAN><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">(LOGPALETTE)
+ (</SPAN><SPAN lang=EN-US
style="COLOR: blue; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">sizeof</SPAN><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">(PALETTEENTRY)
* 256);<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>LOGPALETTE *pLP = (LOGPALETTE *) new
BYTE[nSize];<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>pLP->palVersion = 0x300;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>pLP->palNumEntries =GetSystemPaletteEntries( hDC, 0, 255,
pLP->palPalEntry );<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>hPal=CreatePalette(pLP );<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 2">
</SPAN></SPAN><SPAN lang=EN-US
style="COLOR: blue; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">delete</SPAN><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">[]
pLP;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>}<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN></SPAN><SPAN lang=EN-US
style="COLOR: blue; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">if</SPAN><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">
(hPal==NULL)<SPAN
style="mso-tab-count: 1">
</SPAN>hPal = (HPALETTE)
GetStockObject(DEFAULT_PALETTE);<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>::GetObject(hBmp,</SPAN><SPAN lang=EN-US
style="COLOR: blue; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">sizeof</SPAN><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">(bm),(LPSTR)&bm);<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biSize<SPAN style="mso-tab-count: 1">
</SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>= </SPAN><SPAN lang=EN-US
style="COLOR: blue; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">sizeof</SPAN><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">(BITMAPINFOHEADER);<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biWidth<SPAN
style="mso-tab-count: 2">
</SPAN>= bm.bmWidth;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biHeight <SPAN
style="mso-tab-count: 2">
</SPAN>= bm.bmHeight;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biPlanes <SPAN
style="mso-tab-count: 2">
</SPAN>= 1;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biBitCount<SPAN
style="mso-tab-count: 2">
</SPAN>= bm.bmPlanes * bm.bmBitsPixel;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biCompression<SPAN
style="mso-tab-count: 1">
</SPAN>= BI_RGB;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biSizeImage<SPAN
style="mso-tab-count: 2">
</SPAN>= 0;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biXPelsPerMeter<SPAN
style="mso-tab-count: 1">
</SPAN>= 0;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
style="COLOR: black; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt"><SPAN
style="mso-tab-count: 1">
</SPAN>bi.biYPelsPerMeter<SPAN
style="mso-tab-count: 1">
</SPAN>= 0;<o:p></o:p></SPAN></P>
<P align=left class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><SPAN
lang=EN-US
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -