📄 fcdib.htm
字号:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=GB2312">
<title>FCDib类</title>
</head>
<body bgcolor="#ffffe7" lang=ZH-CN style='tab-interval:21.0pt'>
<h2 align="center"><b><font color="#FF0000">FCDib类说明</font></b></h2><table width="85%" border="1" bordercolor="#3399FF" align="center" cellpadding="0" bgcolor="#D0FFE0">
<tr> <td rowspan="2">文件位置 :</td><td width="85%" height="19"><font color="#FF0000">\FLib\Include\Pic\Pic.h</font></td></tr>
<tr> <td height="19"><font color="#FF0000">\FLib\Source\Pic\Pic.cpp</font></td></tr>
<tr> <td>使用方法 :</td><td width="85%" height="8"><font color="#FF0000">#include "fool.h"</font></td></tr>
<tr> <td>说明 :</td><td width="85%" height="9">本类中的坐标原点(0,0)取图象的左上角。<BR>x-范围 [0,
Width()-1] y-范围 [0, Height()-1]<br> <br> DIB像素从图象左下角存储, 在内存中存储格式为 B-G-R-a 。</td></tr>
</table><h2><font color="#FF0000"><b>成员函数(Member Functions):</b></font></h2><table width="85%" border="1" bordercolor="#3399FF" align="center" cellpadding="0" bgcolor="#CCFFFF">
<tr> <td colspan="2"> <div align="center"><font color="#FF0000"><b>构造函数</b></font></div></td></tr>
<tr> <td width="50%"> <div align="center">函数原型</div></td><td width="50%"> <div align="center">功能</div></td></tr>
<tr> <td width="50%"><FONT COLOR="#FF0000">FCDib ()</FONT></td><td rowspan="2">构造函数</td></tr>
<tr> <td width="50%"><FONT COLOR="#FF0000">FCDib (const FCDib & dib)</FONT></td></tr><tr><td width="50%"><FONT COLOR="#FF0000">
void Unload ()</FONT></td><td width="50%">清除当前位图。</td></tr><TR> <TD WIDTH="50%"><FONT COLOR="#FF0000">BOOL CaptureScreen
(LPRECT lpRect = NULL)</FONT></TD><TD WIDTH="50%">lpRect :NULL 为捕捉全屏。<BR><BR>适用于
:<FONT COLOR="#FF0000">>=16 bit</FONT></TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">void RegionFill
(RGBQUAD rgb, RECT * rect = NULL)</FONT></TD><TD WIDTH="40%">rect :NULL 为则填充全图。<BR><BR>适用于
:<FONT COLOR="#FF0000">>=16 bit</FONT></TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">
bool BoundRect (RECT & rect)</FONT></TD><TD WIDTH="40%">限定rect在图像内部,直接修改rect。<BR><BR>返回false
:rect与图象无相交区域。</TD></TR> </table><br> <br> <table width="85%" border="1" bordercolor="#3399FF" align="center" cellpadding="0" bgcolor="#CCFFFF">
<tr> <td width="15%">函数原型:</td><td width="85%"> <p><font color="#FF0000"> BOOL Create (int iWidth,<BR>
int iHeight,<BR> WORD wColorBit = 0)</font></p></td></tr> <tr> <td width="15%">参数:</td><td width="85%">iWidth,
iHeight, wColorBit :0为当前桌面的设置。</td></tr> <tr> <td width="15%">返回值:</td><td width="85%"> </td></tr>
<tr> <td width="15%" height="80">说明:</td><td width="85%" height="80">内部调用<font color="#FF0000">Unload</font>,
清除当前的DIB。<BR><br> 8Bit及以下位图创建一灰度调色板。<br> <br> 不支持自上而下存储的DIB (即iHeight < 0的位图)。<BR><BR><FONT COLOR="#FF0000">一定要检查此函数返回值,否则后续操作可能出错。</FONT></td></tr>
</table><br> <br> <table width="85%" border="1" bordercolor="#3399FF" align="center" cellpadding="0" bgcolor="#CCFFFF">
<tr> <td width="15%">函数原型:</td><td width="85%"> <p><font color="#FF0000"> BOOL AttachDDB (HBITMAP
hBitmap,<br> int iColor = 32)</font></p></td></tr> <tr> <td width="15%">参数:</td><td width="85%">iColor
:生成的DIB的颜色位数。</td></tr> <tr> <td width="15%">返回值:</td><td width="85%"> </td></tr>
<tr> <td width="15%">说明:</td><td width="85%">DDB ==> DIB 的转化。<br> <br> 调用后可以删除hBitmap。</td></tr>
</table><br> <br> <table width="85%" border="1" bordercolor="#3399FF" align="center" cellpadding="0" bgcolor="#CCFFFF">
<tr> <td width="15%">函数原型:</td><td width="85%"> <p><font color="#FF0000">HBITMAP GetDDB_Handle (HDC
hdc = NULL)</font></p></td></tr> <tr> <td width="15%">参数:</td><td width="85%"> </td></tr>
<tr> <td width="15%">返回值:</td><td width="85%"> </td></tr> <tr> <td width="15%">说明:</td><td width="85%">DIB
==> DDB 的转化。<br> <br> 必须用 DeleteObject 删除返回的位图对象。</td></tr> </table><br> <br>
<table width="85%" border="1" bordercolor="#3399FF" align="center" cellpadding="0" bgcolor="#CCFFFF">
<tr> <td colspan="2"> <div align="center"><font color="#FF0000"><b>获取图像信息 ( 对所有位色有效
)</b></font></div></td></tr> <tr> <td width="50%"> <div align="center">函数原型</div></td><td width="50%">
<div align="center">功能</div></td></tr> <tr> <td width="50%"><font color="#FF0000">BYTE *
GetBits (int iLine = 0)</font></td><td rowspan="2" width="50%">按<font color="#FF0000">自上而下/自左而右</font>计算。</td></tr>
<tr> <td width="50%"><font color="#FF0000">BYTE * GetBits (int x, int y)</font></td></tr>
<tr> <td width="50%"><font color="#FF0000">BYTE * GetMemStart ()</font></td><td width="50%">左下角指针,DIB象素内存起始地址。</td></tr>
<tr> <td width="50%"><font color="#FF0000">DWORD Width ()</font></td><td width="50%">宽。</td></tr>
<tr> <td width="50%"><font color="#FF0000">DWORD Height ()</font></td><td width="50%">高。</td></tr>
<tr> <td width="50%"><font color="#FF0000">WORD ColorBits ()</font></td><td width="50%">每象素颜色位数。</td></tr>
<tr> <td width="50%"><font color="#FF0000">DWORD GetPitch ()</font></td><td width="50%">DIB每行字节数
(32位补齐)。同<FONT COLOR="#FF0000">fooDibRowBytes ()</FONT></td></tr> <tr> <td width="50%"><font color="#FF0000">HBITMAP
GetHandle ()</font></td><td width="50%">CreateDIBSection 返回的句柄 (DIB-Handle)。</td></tr>
<tr> <td width="50%"><font color="#FF0000">int ColorsUsed ()</font></td><td width="50%">统计图像使用的颜色数。</td></tr>
<tr> <td width="50%"><font color="#FF0000">BOOL TakeKeyColor (RGBQUAD * rgb)</font></td><td width="50%">获取一种不在图象中出现的颜色。(可用于透明显示中)<BR>适用于
:<FONT COLOR="#FF0000">>= 16 bit</FONT></td></tr> <tr> <td><font color="#FF0000">void GetDibInfo
(BITMAPINFOHEADER * bmif)</font></td><td width="50%">获取图象信息。</td></tr> </table><BR><BR><TABLE WIDTH="85%" BORDER="1" BORDERCOLOR="#3399FF" ALIGN="center" CELLPADDING="0" BGCOLOR="#CCFFFF">
<TR> <TD COLSPAN="2"> <DIV ALIGN="center"><FONT COLOR="#FF0000"><B>颜色转换</B></FONT></DIV></TD></TR>
<TR> <TD WIDTH="50%"> <DIV ALIGN="center">函数原型</DIV></TD><TD WIDTH="50%"> <DIV ALIGN="center">功能</DIV></TD></TR>
<TR><TD WIDTH="50%"><FONT COLOR="#FF0000">void ConvertTo16Bit ()</FONT></TD><TD WIDTH="50%" ROWSPAN="3">转换成<FONT COLOR="#FF0000">16/24/32</FONT>位DIB。</TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">void
ConvertTo24Bit ()</FONT></TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">void
ConvertTo32Bit ()</FONT></TD></TR> <TR> <TD WIDTH="50%"><FONT COLOR="#FF0000">void
ConvertColorTo (int iColor)</FONT></TD><TD WIDTH="50%">转换成<FONT COLOR="#FF0000">iColor</FONT>位DIB。<BR>
(它的速度非常慢,并且在减色时效果差)</TD></TR> <TR> <TD WIDTH="50%"><FONT COLOR="#999999">void
OctConvertTo8Bit ()</FONT></TD><TD WIDTH="50%"><FONT COLOR="#999999">八叉数转换。</FONT></TD></TR>
<TR> <TD WIDTH="50%"><FONT COLOR="#FF0000">void ConvertToGray ()</FONT></TD><TD WIDTH="50%">转换成灰度图。<BR>
<FONT COLOR="#999999">1,4,8位色直接修改调色板为灰度值,16,24,32位色转换为8位灰度图。</FONT></TD></TR>
</TABLE><BR> <BR> <TABLE WIDTH="85%" BORDER="1" BORDERCOLOR="#3399FF" ALIGN="center" CELLPADDING="0" BGCOLOR="#CCFFFF">
<TR> <TD COLSPAN="2"> <DIV ALIGN="center"><B><FONT COLOR="#FF0000">直接像素存取</FONT></B></DIV></TD></TR>
<TR> <TD WIDTH="50%"> <DIV ALIGN="center">函数原型</DIV></TD><TD WIDTH="50%"> <DIV ALIGN="center">功能</DIV></TD></TR>
<TR><TD WIDTH="50%"><FONT COLOR="#FF0000">RGBQUAD ParsePixelData (DWORD dwData)</FONT></TD><TD WIDTH="50%">根据当前位图格式解析dwData。</TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">DWORD
GetPixelData (int x, int y)</FONT></TD><TD ROWSPAN="2"> </TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">void GetPixelColor
(int x, int y, RGBQUAD * prgb)</FONT></TD></TR> <TR> <TD WIDTH="50%"><FONT COLOR="#FF0000">void GetPixelColor32
(int x, int y,<BR> RGBQUAD * prgb)</FONT></TD><TD WIDTH="50%"><FONT COLOR="#FF0000">32
bit</FONT></TD></TR> <TR> <TD WIDTH="50%"><FONT COLOR="#FF0000"> void SetPixelData
(int x, int y, DWORD dwPixel)</FONT></TD><TD WIDTH="50%"> </TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">void SetPixelColor
(int x, int y, RGBQUAD rgb)</FONT></TD><TD WIDTH="50%"><FONT COLOR="#FF0000">>=
16 bit</FONT></TD></TR> <TR> <TD WIDTH="50%"><FONT COLOR="#FF0000">void SetPixelColor32
(int x, int y, RGBQUAD rgb)</FONT></TD><TD WIDTH="50%"><FONT COLOR="#FF0000">32
bit</FONT></TD></TR><TR><TD WIDTH="50%"><FONT COLOR="#FF0000">void NegatePixel
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -