JSRUN 用代码说话

CAImage、CAImageView(显示一张图片)

编辑教程

CAImage、CAImageView(显示一张图片)

类说明

CAImage贴图类,即内存中的纹理,主要用于创建贴图对象,将图像加载进内存,是所有有关贴图类的基础。

CAImage 属性(点击方法名可查看方法介绍)

属性 说明
PixelFormat 像素格式
PixelsWide 像素宽
PixelsHigh 像素高
ContentSize 内容大小
ShaderProgram 着色程序
Monochrome 单色
Data 数据
DataLenght 数据长度

CAImage 方法(点击方法名可查看方法介绍)

方法 说明
create 创建,默认Frame为(0,0,0,0)
createWithImageDataNoCache 创建,默认没有缓存
createWithImageData 创建,默认有缓存
createWithString 创建,并指定文本内容
getFontHeight 获得字体高度
getStringWidth 获得字体宽度
cutStringByWidth 减少字符串的宽度
getStringHeight 减少字符串的高度
scaleToNewImageWithImage 缩放当前图像做新图像
scaleToNewImageWithImage 缩放当前图像做新图像
generateMipmapsWithImage 生成mipmap图像
createWithRawDataNoCache 创建,并指定Raw Data,默认没有缓存
createWithRawData 创建,并指定Raw Data,默认没有缓存
initWithImageFile 初始化,并指定其图像文件
initWithImageFileThreadSafe 初始化,并指定其图像文件(支持子线程)
initWithImageData 初始化,并指定其图像缓存
initWithRawData 初始化,并指定其原数据
description 添加图像描述
releaseData 释放所有数据
releaseData 释放指定数据
drawAtPoint 基于某个点显示(大小为图像大小)
drawInRect 基于某个矩形区域显示
initWithETCFile 初始化,并指定其ETC文件
stringForFormat 格式字符串
saveToFile 保存到文件
getImageFileType 获取图像文件类型
getAspectRatio 得到长宽比
detectFormat 检测格式
premultipliedImageData 进行图像数据
repremultipliedImageData 再进行图像数据
updateGifImageWithIndex 通过index更新GIF图像
getGifImageIndex 获取GIF图像的index
getGifImageCounts 获取GIF图像的参数
reloadAllImages 重新加载所有图像

CAImageView 属性(点击方法名可查看方法介绍)

属性 说明
ImageViewScaleType 图像缩放类型
AnimationImages 动画图像
AnimationDuration 动画间隔的时间
AnimationRepeatCount 动画重复次数

CAImageView 方法(点击方法名可查看方法介绍)

方法 说明
create 创建,默认Frame为(0,0,0,0)
createWithImage 创建,并指定Image
createWithFrame 创建,并指定Frame,默认Frame为(0,0,0,0)
createWithCenter 创建,并指定Center,默认Center为(0,0,0,0)
init 初始化
initWithImage 初始化,并指定其图像
setImage 设置图像
getImage 获取图像
setImageAsyncWithFile 异步设置图像文件
startAnimating 开始动画
stopAnimating 结束动画
isAnimating 查看图像动画

使用方法


//创建一个CAImage
    CAImage* image = CAImage::create("HelloWorld.png");

//CAImage函数
//打印贴图描述
    CCLog("Description:%s", image->description());

//打印像素格式
    CCLog("StringForFormat:%s", image->stringForFormat());

//打印像素位深
    CCLog("bitsPerPixelForFormat:%d", image->bitsPerPixelForFormat());

//方法一:通过CAImage创建一个CAImageView
    CAImageView* imageView = CAImageView::createWithImage(image);

//设置显示的范围(如果不设置,默认不会被显示出来)
    imageView->setFrame(winRect);

//添加到绘制
     this->getView()->addSubview(imageView);

//方法二:通过设置Center创建一个CAImageViewD
     CAImageView* imageView_1 = CAImageView::createWithCenter(DRect(50,50,100,100));

//设置显示的纹理
     imageView_1->setImage(image);

//异步加载
     //imageView_1->setImageAsyncWithFile("source_material/stepper_inc_n.png");

//添加到绘制,设置z轴为1
     this->getView()->insertSubview(imageView_1,1);

CCLog的打印结果:

    Description:<CAImage | Name = 3 | Dimensions = 640 x 960 | Coordinates = (1.00, 1.00)>
    StringForFormat:RGB888
    bitsPerPixelForFormat:32

CAImage 属性说明

PixelFormat

类型:CAImage::PixelFormat

解释:像素格式。get{}。

PixelsWide

类型:unsigned int

解释:像素宽。get{}。

PixelsHigh

类型:unsigned int

解释:像素高。get{}。

ContentSize

类型:DSize

解释:内容大小。get{}。

ShaderProgram

类型:CAGLProgram*

解释:着色程序。set/get{}。

Monochrome

类型:bool

解释:单色。is{}。

Data

类型:unsigned char*

解释:数据。get{}。

DataLenght

类型:unsigned long

解释:数据长度。get{}。

CAImage 方法说明

static CAImage* create(const std::string& file);

返回值:static CAImage*

参数:

类型 参数名 说明
const std::string& file 图像名

解释:创建,默认Frame为(0,0,0,0)

static CAImage createWithImageDataNoCache(const unsigned char data, unsigned long lenght);

返回值:static CAImage*

参数:

类型 参数名 说明
const unsigned char * data 数据
unsigned long lenght 长度

解释:创建,默认没有缓存

static CAImage createWithImageData(const unsigned char data, unsigned long lenght, const std::string& key) ;

返回值:static CAImage*

参数:

类型 参数名 说明
const unsigned char * data 数据
unsigned long lenght 长度
const std::string& key 属性

解释:创建,默认有缓存

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*

参数:

类型 参数名 说明
const char *text 文字
const char *fontName 字体名称
float fontSize 字体大小
const DSize& dimensions 图像大小
CATextAlignment hAlignment 文本对齐
CAVerticalTextAlignment vAlignment 垂直文本对齐
bool isForTextField = false 是否显示文本框(默认不显示)
int iLineSpacing = 0 文本间距(默认0)
bool bBold = false 是否显示加粗(默认不加粗)
bool bItalics = false 是否显示斜体(默认不斜体)
bool bUnderLine = false 是否显示下划线(默认不显示)

解释:创建,并指定文本内容

static int getFontHeight(const char* pFontName, unsigned long nSize);

返回值:static int

参数:

类型 参数名 说明
const char* pFontName 字体名字
unsigned long nSize 字体大小

解释:获得字体高度

static int getStringWidth(const char* pFontName, unsigned long nSize, const std::string& pText);

返回值:static int

参数:

类型 参数名 说明
const char* pFontName 字体名字
unsigned long nSize 字体大小
const std::string& pText 文本内容

解释:获得字体宽度

static int cutStringByWidth(const char* pFontName, unsigned long nSize, const std::string& text, int iLimitWidth, int& cutWidth);

返回值:static int

参数:

类型 参数名 说明
const char* pFontName 字体名字
unsigned long nSize 字体大小
const std::string& pText 文本内容
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

参数:

类型 参数名 说明
const char* pFontName 字体名字
unsigned long nSize 字体大小
const std::string& pText 文本内容
int iLimitWidth 最大宽度
int iLineSpace = 0 间距
bool bWordWrap = true 自动换行

解释:减少字符串的高度

static CAImage scaleToNewImageWithImage(CAImage image, const DSize& size);

返回值:static CAImage*

参数:

类型 参数名 说明
CAImage* image 图像
const DSize& size 大小

解释:缩放当前图像做新图像

static CAImage scaleToNewImageWithImage(CAImage image, float scaleX, float scaleY);

返回值:static CAImage*

参数:

类型 参数名 说明
CAImage* image 图像
float scaleX 缩放X轴
float scaleY 缩放Y轴

解释:缩放当前图像做新图像

static CAImage generateMipmapsWithImage(CAImage image);

返回值:static CAImage*

参数:

类型 参数名 说明
CAImage* image 图像

解释:生成mipmap图像

static CAImage createWithRawDataNoCache(const unsigned char data, const CAImage::PixelFormat& pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh);

返回值:static CAImage*

参数:

类型 参数名 说明
const unsigned char * data 数据
const CAImage::PixelFormat& pixelFormat 像素格式
unsigned int pixelsWide 像素宽
unsigned int pixelsHigh 像素高

解释:创建,并指定Raw Data,默认没有缓存

static CAImage createWithRawData(const unsigned char data, const CAImage::PixelFormat& pixelFormat, nsigned int pixelsWide, unsigned int pixelsHigh, const std::string& key);

返回值:static CAImage*

参数:

类型 参数名 说明
const unsigned char * data 数据
const CAImage::PixelFormat& pixelFormat 像素格式
unsigned int pixelsWide 像素宽
unsigned int pixelsHigh 像素高
const std::string& key 属性

解释:创建,并指定Raw Data,默认有缓存

bool initWithImageFile(const std::string& file);

返回值:bool

参数:

类型 参数名 说明
const std::string& file 图像名

解释:初始化,并指定其图像文件

bool initWithImageFileThreadSafe(const std::string& fullPath);

返回值:bool

参数:

类型 参数名 说明
const std::string& fullPath 完整路径

解释:初始化,并指定其图像文件(支持子线程)

bool initWithImageData(const unsigned char * data, unsigned long dataLen);

返回值:bool

参数:

类型 参数名 说明
const unsigned char * data 数据
unsigned long dataLen 数据长度

解释:初始化,并指定其图像缓存

bool initWithRawData(const unsigned char * data, const CAImage::PixelFormat& pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh);

返回值:bool

参数:

类型 参数名 说明
const unsigned char * data 数据
const CAImage::PixelFormat& pixelFormat 像素格式
unsigned int pixelsWide 像素宽
unsigned int pixelsHigh 像素高

解释:初始化,并指定其原数据

const char* description(void);

返回值:const char*

参数:

解释:获取图像描述

void releaseData();

返回值:void

参数:

解释:释放所有数据

void releaseData(unsigned char ** data);

返回值:void

参数:

类型 参数名 说明
unsigned char ** data 数据

解释:释放指定数据

void drawAtPoint(const DPoint& point);

返回值:void

参数:

类型 参数名 说明
const DPoint& point 点的位置

解释:基于某个点显示(大小为图像大小)

void drawInRect(const DPoint& rect);

返回值:void

参数:

类型 参数名 说明
const DPoint& rect 矩形大小

解释:基于某个矩形区域显示

bool initWithETCFile(const char* file);

返回值:bool

参数:

类型 参数名 说明
const char* file 文件名

解释:初始化,并指定其ETC文件

const char* stringForFormat();

返回值:const char*

参数:

解释:格式字符串

bool saveToFile(const std::string& fullPath, bool bIsToRGB = false);

返回值:bool

参数:

类型 参数名 说明
const std::string& fullPath 完全路径
bool bIsToRGB = false 是否用RGB格式保存(默认否)

解释:是否保存成RGB格式

const char* getImageFileType();

返回值:const char*

参数:

解释:获取图像文件类型

float getAspectRatio();

返回值:float

参数:

解释:得到长宽比

CAImage::Format detectFormat(const unsigned char * data, unsigned long dataLen);

返回值: CAImage::Format

参数:

类型 参数名 说明
const unsigned char * data 数据
unsigned long dataLen 数据长度

解释:检测格式

void premultipliedImageData();

返回值:void

参数:

解释:进行图像数据

void repremultipliedImageData();

返回值:void

参数:

解释:再进行图像数据

void updateGifImageWithIndex(unsigned int index);

返回值:void

参数:

类型 参数名 说明
unsigned int index index

解释:通过index更新GIF图像

unsigned int getGifImageIndex();

返回值:unsigned int

参数:

解释:获取GIF图像的index

unsigned int getGifImageCounts();

返回值:unsigned int

参数:

解释:获取GIF图像的参数

static void reloadAllImages();

返回值:static void

参数:

解释:重新加载所有图像


CAImageView 属性说明

ImageViewScaleType

类型:CAImageViewScaleType

解释:图像缩放类型。set/get{}。

AnimationImages

类型:CAVector<CAImage*>

解释:动画图像。set/get{}。

AnimationDuration

类型:float

解释:动画间隔的时间。set/get{}。

AnimationRepeatCount

类型:unsigned int

解释:动画重复次数。set/get{}。


CAImageView 方法说明

static CAImageView* create();

返回值:static CAImageView*

参数:

解释:创建,默认Frame为(0,0,0,0)

static CAImageView createWithImage(CAImage image);

返回值:static CAImageView*

参数:

类型 参数名 说明
CAImage* image 图像

解释:创建,并指定其Image

static CAImageView* createWithFrame(const DRect& rect);

返回值:static CAImageView*

参数:

类型 参数名 说明
const DRect& rect 区域大小

解释:创建,并指定其Frame,默认Frame为(0,0,0,0)

static CAImageView* createWithCenter(const DRect& rect);

返回值:static CAImageView*

参数:

类型 参数名 说明
const DRect& rect 中心点的位置及大小

解释:创建,并指定其Center,默认Center为(0,0,0,0)

virtual bool init(void);

返回值:virtual bool

参数:

解释:初始化

virtual bool initWithImage(CAImage* image);

返回值:virtual bool

参数:

类型 参数名 说明
CAImage* image 图像

解释:初始化图像

virtual void setImage(CAImage* image);

返回值:virtual void

参数:

类型 参数名 说明
CAImage* image 图像

解释:设置图像

virtual CAImage* getImage(void);

返回值:virtual CAImage*

参数:

解释:获取图像

virtual void setImageAsyncWithFile(const std::string& path);

返回值:virtual void

参数:

类型 参数名 说明
const std::string& path 路径

解释:异步设置图像文件

void startAnimating();

返回值:void

参数:

解释:开始动画

void stopAnimating();

返回值:void

参数:

解释:结束动画

bool isAnimating();

返回值:bool

参数:

解释:查看图像动画

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟