類(lèi)說(shuō)明
CAImage貼圖類(lèi),即內(nèi)存中的紋理,主要用于創(chuàng)建貼圖對(duì)象,將圖像加載進(jìn)內(nèi)存,是所有有關(guān)貼圖類(lèi)的基礎(chǔ)。
CAImage 屬性(點(diǎn)擊方法名可查看方法介紹)
屬性 | 說(shuō)明 |
PixelFormat | 像素格式 |
PixelsWide | 像素寬 |
PixelsHigh | 像素高 |
ContentSize | 內(nèi)容大小 |
ShaderProgram | 著色程序 |
Monochrome | 單色 |
Data | 數(shù)據(jù) |
DataLenght | 數(shù)據(jù)長(zhǎng)度 |
CAImage 方法(點(diǎn)擊方法名可查看方法介紹)
CAImageView 屬性(點(diǎn)擊方法名可查看方法介紹)
屬性 | 說(shuō)明 |
ImageViewScaleType | 圖像縮放類(lèi)型 |
AnimationImages | 動(dòng)畫(huà)圖像 |
AnimationDuration | 動(dòng)畫(huà)間隔的時(shí)間 |
AnimationRepeatCount | 動(dòng)畫(huà)重復(fù)次數(shù) |
CAImageView 方法(點(diǎn)擊方法名可查看方法介紹)
方法 | 說(shuō)明 |
create | 創(chuàng)建,默認(rèn)Frame為(0,0,0,0) |
createWithImage | 創(chuàng)建,并指定Image |
createWithFrame | 創(chuàng)建,并指定Frame,默認(rèn)Frame為(0,0,0,0) |
createWithCenter | 創(chuàng)建,并指定Center,默認(rèn)Center為(0,0,0,0) |
init | 初始化 |
initWithImage | 初始化,并指定其圖像 |
setImage | 設(shè)置圖像 |
getImage | 獲取圖像 |
setImageAsyncWithFile | 異步設(shè)置圖像文件 |
startAnimating | 開(kāi)始動(dòng)畫(huà) |
stopAnimating | 結(jié)束動(dòng)畫(huà) |
isAnimating | 查看圖像動(dòng)畫(huà) |
使用方法
//創(chuàng)建一個(gè)CAImage
CAImage* image = CAImage::create("HelloWorld.png");
//CAImage函數(shù)
//打印貼圖描述
CCLog("Description:%s", image->description());
//打印像素格式
CCLog("StringForFormat:%s", image->stringForFormat());
//打印像素位深
CCLog("bitsPerPixelForFormat:%d", image->bitsPerPixelForFormat());
//方法一:通過(guò)CAImage創(chuàng)建一個(gè)CAImageView
CAImageView* imageView = CAImageView::createWithImage(image);
//設(shè)置顯示的范圍(如果不設(shè)置,默認(rèn)不會(huì)被顯示出來(lái))
imageView->setFrame(winRect);
//添加到繪制
this->getView()->addSubview(imageView);
//方法二:通過(guò)設(shè)置Center創(chuàng)建一個(gè)CAImageViewD
CAImageView* imageView_1 = CAImageView::createWithCenter(DRect(50,50,100,100));
//設(shè)置顯示的紋理
imageView_1->setImage(image);
//異步加載
//imageView_1->setImageAsyncWithFile("source_material/stepper_inc_n.png");
//添加到繪制,設(shè)置z軸為1
this->getView()->insertSubview(imageView_1,1);
CCLog的打印結(jié)果:
Description:<CAImage | Name = 3 | Dimensions = 640 x 960 | Coordinates = (1.00, 1.00)>
StringForFormat:RGB888
bitsPerPixelForFormat:32
CAImage 屬性說(shuō)明
類(lèi)型:CAImage::PixelFormat
解釋:像素格式。get{}。
類(lèi)型:unsigned int
解釋:像素寬。get{}。
類(lèi)型:unsigned int
解釋:像素高。get{}。
類(lèi)型:DSize
解釋:內(nèi)容大小。get{}。
類(lèi)型:CAGLProgram*
解釋:著色程序。set/get{}。
類(lèi)型:bool
解釋:單色。is{}。
類(lèi)型:unsigned char*
解釋:數(shù)據(jù)。get{}。
類(lèi)型:unsigned long
解釋:數(shù)據(jù)長(zhǎng)度。get{}。
CAImage 方法說(shuō)明
static CAImage* create(const std::string& file);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const std::string& | file | 圖像名 |
解釋:創(chuàng)建,默認(rèn)Frame為(0,0,0,0)
static CAImage* createWithImageDataNoCache(const unsigned char * data, unsigned long lenght);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const unsigned char * | data | 數(shù)據(jù) |
unsigned long | lenght | 長(zhǎng)度 |
解釋:創(chuàng)建,默認(rèn)沒(méi)有緩存
static CAImage* createWithImageData(const unsigned char * data, unsigned long lenght, const std::string& key);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const unsigned char * | data | 數(shù)據(jù) |
unsigned long | lenght | 長(zhǎng)度 |
const std::string& | key | 屬性 |
解釋:創(chuàng)建,默認(rèn)有緩存
static CAImage* createWithString(const char *text, const char *fontName, float fontSize, const DSize& dimensions, CATextAlignment hAlignment, CAVerticalTextAlignment vAlignment, bool isForTextField = false, int iLineSpacing = 0, bool bBold = false, bool bItalics = false, bool bUnderLine = false);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const char | *text | 文字 |
const char | *fontName | 字體名稱 |
float | fontSize | 字體大小 |
const DSize& | dimensions | 圖像大小 |
CATextAlignment | hAlignment | 文本對(duì)齊 |
CAVerticalTextAlignment | vAlignment | 垂直文本對(duì)齊 |
bool | isForTextField = false | 是否顯示文本框(默認(rèn)不顯示) |
int | iLineSpacing = 0 | 文本間距(默認(rèn)0) |
bool | bBold = false | 是否顯示加粗(默認(rèn)不加粗) |
bool | bItalics = false | 是否顯示斜體(默認(rèn)不斜體) |
bool | bUnderLine = false | 是否顯示下劃線(默認(rèn)不顯示) |
解釋:創(chuàng)建,并指定文本內(nèi)容
static int getFontHeight(const char* pFontName, unsigned long nSize);
返回值:static int
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const char* | pFontName | 字體名字 |
unsigned long | nSize | 字體大小 |
解釋:獲得字體高度
static int getStringWidth(const char* pFontName, unsigned long nSize, const std::string& pText);
返回值:static int
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const char* | pFontName | 字體名字 |
unsigned long | nSize | 字體大小 |
const std::string& | pText | 文本內(nèi)容 |
解釋:獲得字體寬度
static int cutStringByWidth(const char* pFontName, unsigned long nSize, const std::string& text, int iLimitWidth, int& cutWidth);
返回值:static int
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const char* | pFontName | 字體名字 |
unsigned long | nSize | 字體大小 |
const std::string& | pText | 文本內(nèi)容 |
int | iLimitWidth | 最大寬度 |
int& | cutWidth | 減少的寬度 |
解釋:減少字符串的寬度
static int getStringHeight(const char* pFontName, unsigned long nSize, const std::string& pText, int iLimitWidth, int iLineSpace = 0, bool bWordWrap = true);
返回值:static int
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const char* | pFontName | 字體名字 |
unsigned long | nSize | 字體大小 |
const std::string& | pText | 文本內(nèi)容 |
int | iLimitWidth | 最大寬度 |
int | iLineSpace = 0 | 間距 |
bool | bWordWrap = true | 自動(dòng)換行 |
解釋:減少字符串的高度
static CAImage* scaleToNewImageWithImage(CAImage* image, const DSize& size);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
const DSize& | size | 大小 |
解釋:縮放當(dāng)前圖像做新圖像
static CAImage* scaleToNewImageWithImage(CAImage* image, float scaleX, float scaleY);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
float | scaleX | 縮放X軸 |
float | scaleY | 縮放Y軸 |
解釋:縮放當(dāng)前圖像做新圖像
static CAImage* generateMipmapsWithImage(CAImage* image);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
解釋:生成mipmap圖像
static CAImage* createWithRawDataNoCache(const unsigned char * data, const CAImage::PixelFormat& pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const unsigned char * | data | 數(shù)據(jù) |
const CAImage::PixelFormat& | pixelFormat | 像素格式 |
unsigned int | pixelsWide | 像素寬 |
unsigned int | pixelsHigh | 像素高 |
解釋:創(chuàng)建,并指定Raw Data,默認(rèn)沒(méi)有緩存
static CAImage* createWithRawData(const unsigned char * data, const CAImage::PixelFormat& pixelFormat, nsigned int pixelsWide, unsigned int pixelsHigh, const std::string& key);
返回值:static CAImage*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const unsigned char * | data | 數(shù)據(jù) |
const CAImage::PixelFormat& | pixelFormat | 像素格式 |
unsigned int | pixelsWide | 像素寬 |
unsigned int | pixelsHigh | 像素高 |
const std::string& | key | 屬性 |
解釋:創(chuàng)建,并指定Raw Data,默認(rèn)有緩存
bool initWithImageFile(const std::string& file);
返回值:bool
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const std::string& | file | 圖像名 |
解釋:初始化,并指定其圖像文件
bool initWithImageFileThreadSafe(const std::string& fullPath);
返回值:bool
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const std::string& | fullPath | 完整路徑 |
解釋:初始化,并指定其圖像文件(支持子線程)
bool initWithImageData(const unsigned char * data, unsigned long dataLen);
返回值:bool
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const unsigned char * | data | 數(shù)據(jù) |
unsigned long | dataLen | 數(shù)據(jù)長(zhǎng)度 |
解釋:初始化,并指定其圖像緩存
bool initWithRawData(const unsigned char * data, const CAImage::PixelFormat& pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh);
返回值:bool
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const unsigned char * | data | 數(shù)據(jù) |
const CAImage::PixelFormat& | pixelFormat | 像素格式 |
unsigned int | pixelsWide | 像素寬 |
unsigned int | pixelsHigh | 像素高 |
解釋:初始化,并指定其原數(shù)據(jù)
const char* description(void);
返回值:const char*
參數(shù):
解釋:獲取圖像描述
返回值:void
參數(shù):
解釋:釋放所有數(shù)據(jù)
void releaseData(unsigned char ** data);
返回值:void
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
unsigned char ** | data | 數(shù)據(jù) |
解釋:釋放指定數(shù)據(jù)
void drawAtPoint(const DPoint& point);
返回值:void
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const DPoint& | point | 點(diǎn)的位置 |
解釋:基于某個(gè)點(diǎn)顯示(大小為圖像大小)
void drawInRect(const DPoint& rect);
返回值:void
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const DPoint& | rect | 矩形大小 |
解釋:基于某個(gè)矩形區(qū)域顯示
bool initWithETCFile(const char* file);
返回值:bool
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const char* | file | 文件名 |
解釋:初始化,并指定其ETC文件
const char* stringForFormat();
返回值:const char*
參數(shù):
解釋:格式字符串
bool saveToFile(const std::string& fullPath, bool bIsToRGB = false);
返回值:bool
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const std::string& | fullPath | 完全路徑 |
bool | bIsToRGB = false | 是否用RGB格式保存(默認(rèn)否) |
解釋:是否保存成RGB格式
const char* getImageFileType();
返回值:const char*
參數(shù):
解釋:獲取圖像文件類(lèi)型
返回值:float
參數(shù):
解釋:得到長(zhǎng)寬比
CAImage::Format detectFormat(const unsigned char * data, unsigned long dataLen);
返回值: CAImage::Format
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const unsigned char * | data | 數(shù)據(jù) |
unsigned long | dataLen | 數(shù)據(jù)長(zhǎng)度 |
解釋:檢測(cè)格式
void premultipliedImageData();
返回值:void
參數(shù):
解釋:進(jìn)行圖像數(shù)據(jù)
void repremultipliedImageData();
返回值:void
參數(shù):
解釋:再進(jìn)行圖像數(shù)據(jù)
void updateGifImageWithIndex(unsigned int index);
返回值:void
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
unsigned int | index | index |
解釋:通過(guò)index更新GIF圖像
unsigned int getGifImageIndex();
返回值:unsigned int
參數(shù):
解釋:獲取GIF圖像的index
unsigned int getGifImageCounts();
返回值:unsigned int
參數(shù):
解釋:獲取GIF圖像的參數(shù)
static void reloadAllImages();
返回值:static void
參數(shù):
解釋:重新加載所有圖像
CAImageView 屬性說(shuō)明
類(lèi)型:CAImageViewScaleType
解釋:圖像縮放類(lèi)型。set/get{}。
類(lèi)型:CAVector<CAImage*>
解釋:動(dòng)畫(huà)圖像。set/get{}。
類(lèi)型:float
解釋:動(dòng)畫(huà)間隔的時(shí)間。set/get{}。
類(lèi)型:unsigned int
解釋:動(dòng)畫(huà)重復(fù)次數(shù)。set/get{}。
CAImageView 方法說(shuō)明
返回值:static CAImageView*
參數(shù):
解釋:創(chuàng)建,默認(rèn)Frame為(0,0,0,0)
static CAImageView* createWithImage(CAImage* image);
返回值:static CAImageView*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
解釋:創(chuàng)建,并指定其Image
static CAImageView* createWithFrame(const DRect& rect);
返回值:static CAImageView*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const DRect& | rect | 區(qū)域大小 |
解釋:創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)
static CAImageView* createWithCenter(const DRect& rect);
返回值:static CAImageView*
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const DRect& | rect | 中心點(diǎn)的位置及大小 |
解釋:創(chuàng)建,并指定其Center,默認(rèn)Center為(0,0,0,0)
返回值:virtual bool
參數(shù):
解釋:初始化
virtual bool initWithImage(CAImage* image);
返回值:virtual bool
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
解釋:初始化圖像
virtual void setImage(CAImage* image);
返回值:virtual void
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
CAImage* | image | 圖像 |
解釋:設(shè)置圖像
virtual CAImage* getImage(void);
返回值:virtual CAImage*
參數(shù):
解釋:獲取圖像
virtual void setImageAsyncWithFile(const std::string& path);
返回值:virtual void
參數(shù):
類(lèi)型 | 參數(shù)名 | 說(shuō)明 |
const std::string& | path | 路徑 |
解釋:異步設(shè)置圖像文件
返回值:void
參數(shù):
解釋:開(kāi)始動(dòng)畫(huà)
返回值:void
參數(shù):
解釋:結(jié)束動(dòng)畫(huà)
返回值:bool
參數(shù):
解釋:查看圖像動(dòng)畫(huà)
更多建議: