📄 classes.tex
字号:
\chapter{Alphabetical class reference}\label{classref}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\section{\class{CImage}: public CObject}\label{cimage}
\overview{CImage overview}{cimageoverview}
A CImage object represents an image which can be loaded, saved or manipulated
at a pixel level.
\membersection{CImage::CImage}
\func{void}{CImage}{\void}
Default constructor. Use \helpref{ReadFile}{readfile} or \helpref{Create}{create} to initialize
the object.
\func{void}{CImage}{\param{const CBitmap *}{bitmap}}
Constructs a CImage object from a bitmap.
\func{void}{CImage}{\param{const CString\& }{filename=""}, \param{int}{ imageType=-1}}
Reads the image from a file.
{\it imageType} can be one of:
\begin{itemize}\itemsep=0pt
\item CIMAGE\_FORMAT\_BMP
\item CIMAGE\_FORMAT\_GIF
\item CIMAGE\_FORMAT\_JPEG
\item CIMAGE\_FORMAT\_PNG
\end{itemize}
\func{void}{CImage}{\param{const CImage *}{image}}
Constructs a CImage object from another CImage object. In fact, the image data isn't copied
from {\it image}, but the size, depth etc. are copied.
\membersection{CImage::Create}\label{create}
\func{void}{Create}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth}, \param{int}{ colortype=-1}}
Creates an array of raw bits for the image with the given properties. You must first call
\helpref{CreateImplementation}{createimplementation} to tell the CImage what type of image it is, or
the type will default to CIMAGE\_FORMAT\_BMP.
\membersection{CImage::CreateImplementation}\label{createimplementation}
\func{BOOL}{CreateImplementation}{\param{const CString\&}{ fileName}, \param{int\&}{ imageType}, \param{int}{ depth}, \param{int}{ colortype=-1}}
Initializes the CImage by creating an internal object that implements loading, saving etc. This should
not often need to be called by an application.
\membersection{CImage::Draw}\label{draw}
\func{BOOL}{Draw}{\param{CDC *}{dc}, \param{int}{ dx=0}, \param{int}{ dy=0}, \param{int}{ dw=-1},
\param{int}{ dh=-1}, \param{int}{ sx=0}, \param{int}{ sy=0}}
Draws the image on a device context.
{\it dx, dy} specify the top-left corner of the destination rectangle.
{\it dw, dh} specify the width and height of the rectangle to be drawn.
{\it sx, sy} specify the top-left source position to start drawing from.
\membersection{CImage::GetColorType}\label{getcolortype}
\func{int}{GetColorType}{\void}
Returns the colour type of the image: DIB\_RGB\_COLORS or DIB\_PAL\_COLORS.
\membersection{CImage::GetDepth}\label{getdepth}
\func{int}{GetDepth}{\void}
Returns the colour depth of the image.
\membersection{CImage::GetFilename}\label{getfilename}
\func{CString}{GetFilename}{\void}
Returns the current filename associated with the image.
\membersection{CImage::GetFileType}\label{getfiletype}
\func{int}{GetFileType}{\void}
Returns the current type of the image, which can change according to what types
have been loaded or saved. The return value is one of:
\begin{itemize}\itemsep=0pt
\item CIMAGE\_FORMAT\_BMP
\item CIMAGE\_FORMAT\_GIF
\item CIMAGE\_FORMAT\_JPEG
\item CIMAGE\_FORMAT\_PNG
\end{itemize}
\membersection{CImage::GetHeight}\label{getheight}
\func{int}{GetHeight}{\void}
Returns the height of the image in pixels.
\membersection{CImage::GetIndex}\label{getindex}
\func{int}{GetIndex}{\param{int}{ x}, \param{int}{ y}}
Returns the palette index for the pixel at the given position in the image.
\membersection{CImage::GetPalette}\label{getpalette}
\func{CImagePalette *}{GetPalette}{\void}
Returns the palette associated with the image.
\membersection{CImage::GetRGB}\label{getrgb}
\func{BOOL}{GetRGB}{\param{int}{ x}, \param{int}{ y}, \param{byte *}{red}, \param{byte *}{green},
\param{byte *}{blue}}
Returns the RGB values of the pixel at the given position in the image.
\membersection{CImage::GetWidth}\label{getwidth}
\func{int}{GetWidth}{\void}
Returns the width of the image in pixels.
\membersection{CImage::Inside}\label{inside}
\func{BOOL}{Inside}{\param{int}{ x}, \param{int}{ y}}
Returns TRUE if the given point is inside the image.
\membersection{CImage::IsOK}\label{isok}
\func{BOOL}{IsOK}{\void}
Returns TRUE if the CImage is valid. At present, just checks whether the internal
implementation object is valid.
\membersection{CImage::MakeBitmap}\label{makebitmap}
\func{CBitmap *}{MakeBitmap}{\void}
Makes a new CBitmap object from the CImage object. Untested.
\membersection{CImage::ReadFile}\label{readfile}
\func{BOOL}{ReadFile}{\param{const CString\&}{ filename=""}, \param{int}{ imageType=-1}}
Reads a file of the given type.
{\it imageType} can be one of:
\begin{itemize}\itemsep=0pt
\item CIMAGE\_FORMAT\_BMP
\item CIMAGE\_FORMAT\_GIF
\item CIMAGE\_FORMAT\_JPEG
\item CIMAGE\_FORMAT\_PNG
\end{itemize}
If {\it imageType} is -1, the type is deduced from the file extension.
\membersection{CImage::SaveFile}\label{savefile}
\func{BOOL}{SaveFile}{\param{const CString\&}{ filename=""}, \param{int}{ imageType=-1}}
Reads a file of the given type.
{\it imageType} can be one of:
\begin{itemize}\itemsep=0pt
\item CIMAGE\_FORMAT\_BMP
\item CIMAGE\_FORMAT\_GIF (not implemented)
\item CIMAGE\_FORMAT\_JPEG
\item CIMAGE\_FORMAT\_PNG
\end{itemize}
If {\it imageType} is -1, the type is deduced from the file extension.
\membersection{CImage::SetPalette}\label{setpalette}
\func{BOOL}{SetPalette}{\param{CImagePalette *}{palette}}
\func{BOOL}{SetPalette}{\param{int}{ n}, \param{rgb\_color\_struct *}{rgb\_struct}}
\func{BOOL}{SetPalette}{\param{int}{ n}, \param{byte *}{red}, \param{byte *}{green}, \param{byte *}{blue}}
Sets the palette in a variety of ways.
\membersection{CImage::Stretch}\label{stretch}
\func{BOOL}{Stretch}{\param{CDC *}{dc}, \param{int}{ dx=0}, \param{int}{ dy=0}, \param{int}{ dw=-1},
\param{int}{ dh=-1}, \param{int}{ sx=0}, \param{int}{ sy=0}, \param{int}{ sw=-1}, \param{int}{ sh=-1}}
Draws the image on a device context, stretching the image.
{\it dx, dy} specify the top-left corner of the destination rectangle.
{\it dw, dh} specify the width and height of the rectangle to be drawn.
{\it sx, sy} specify the top-left source position to start drawing from.
{\it sh, sh} specify the width and height of the source rectangle.
\section{\class{CImageIterator}}\label{cimageiterator}
\overview{CImageIterator overview}{cimageiteratoroverview}
Use CImageIterator to iterate through rows and bytes of an image.
\membersection{CImageIterator::CImageIterator}
\func{void}{CImageIterator}{\void}
Default constructor.
\func{void}{CImageIterator}{\param{CImage *}{image}}
Constructor, associating an image with the iterator object.
\func{void}{CImageIterator}{\param{CImageImpl *}{imageImpl}}
Constructor, associating an image with the iterator object.
\membersection{CImageIterator::operator CImage *}
\func{}{operator CImageImpl *}{\void}
Operator, `converting' the CImageIterator object to the associated
CImageImpl object.
\membersection{CImageIterator::GetByte}
\func{byte}{GetByte}{\void}
Returns the byte at the current position.
\membersection{CImageIterator::GetRow}
\func{void}{GetRow}{\param{byte *}{buf}, \param{int}{ n}}
Copies the first {\it n} bytes from the current row to {\bf buf}.
\func{ImagePointerType}{GetRow}{\void}
Returns a pointer to the current row.
\membersection{CImageIterator::GetSteps}
\func{void}{GetSteps}{\param{int *}{x}, \param{int *}{y}}
Returns the steps for incrementing/decrementing with NextStep/PrevStep.
\membersection{CImageIterator::ItOK}
\func{BOOL}{ItOK}{\void}
Returns TRUE if the current iterator position is within the image.
\membersection{CImageIterator::NextByte}
\func{BOOL}{NextByte}{\void}
Increments the current position by a byte.
\membersection{CImageIterator::NextRow}
\func{BOOL}{NextRow}{\void}
Increments the current iterator position by a row.
\membersection{CImageIterator::NextStep}
\func{BOOL}{NextStep}{\void}
Increments the current position by the step previously set by \helpref{SetSteps}{setsteps}.
\membersection{CImageIterator::PrevByte}
\func{BOOL}{PrevByte}{\void}
Decrements the current position by a byte.
\membersection{CImageIterator::PrevRow}
\func{BOOL}{PreviousRow}{\void}
Decrements the current iterator position by a row.
\membersection{CImageIterator::PrevStep}
\func{BOOL}{PrevStep}{\void}
Decrements the current position by the step previously set by \helpref{SetSteps}{setsteps}.
\membersection{CImageIterator::Reset}
\func{BOOL}{Reset}{\void}
Resets the iterator position to 0, 0.
\membersection{CImageIterator::SetByte}
\func{void}{SetByte}{\param{byte}{ b}}
Sets the byte at the current position.
\membersection{CImageIterator::SetRow}
\func{void}{SetRow}{\param{byte *}{buf}, \param{int}{ n}}
Copies the first {\it n} bytes from {\bf buf} to the current row. If {\it n} is less than zero,
it is set to the width of the image.
\membersection{CImageIterator::SetSteps}\label{setsteps}
\func{void}{SetSteps}{\param{int}{ x}, \param{int}{ y}}
Set the steps for incrementing/decrementing with NextStep/PrevStep.
\membersection{CImageIterator::SetY}
\func{void}{SetY}{\param{int}{ y}}
Sets the y position (row).
\membersection{CImageIterator::Upset}
\func{BOOL}{Upset}{\void}
Resets the iterator position to the first pixel of the last image row.
\chapter{Topic overviews}\label{topics}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\section{CImage overview}\label{cimageoverview}
Classes: \helpref{CImage}{cimage}, \helpref{CImageIterator}{cimageiterator}
This overview to be written.
\section{CImageIterator overview}\label{cimageiteratoroverview}
Classes: \helpref{CImageIterator}{cimageiterator}
This class is used for iterating over bytes in an image. For examples of use, see
the CImage source code, e.g. {\tt imajpg.cpp}.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -