dl
dl::Img 命名空间参考

图像操作 更多...

枚举

enum class  ExtendMode { ZERO , COPY }
 

函数

bool IsSupportFormat (std::string_view str, bool read)
 是否支持的格式
 
ImageCreate (const Size &size, const Color &col)
 创建图像
 
ImageCreate (std::string_view path_name)
 创建图像
 
ImageCreateSvg (std::string_view path_name, const Size &size)
 创建图像 从svg
 
ImageCreateWebp (std::string_view path_name)
 创建图像 从webp
 
ImageCreateWebp (BufferView buf)
 
bool Save (const Image *img, std::string_view path_name)
 保存到图像
 
bool SaveKtx (std::span< Image * > vec_img, std::string_view path_name)
 保存到图像(ktx格式)
 
bool SaveKtx (Image *img, std::string_view path_name)
 
void CalcLeastRect (const Image *img, RectU &rect)
 计算返回最小包围盒(去除边缘的全透明像素)
 
bool IsHaveTranslucent (const Image *img, const RectU &rect)
 返回是否包含非透明颜色
 
void AddRect (Image *img_tar, const Image *img_src, const RectU &rect, const PointU &tar_xy)
 添加另一个图像的部分到自己的位置上
 
void SetAlphaZero (Image *img)
 设置透明色颜色为0,针对于某些颜色透明,但是其他通道非0
 
void SetAlphaZero (Image *img, uint8_t a, uint32_t col_new=0)
 设置透明色颜色为0,针对于某些颜色透明,但是其他通道非0
 
ImageResize (const Image *img, const Size &size)
 缩放图像
 
ImageResize (const Image *img, Float scale)
 
ImageExtend (const Image *img, unsigned i, ExtendMode mode=ExtendMode::ZERO)
 拓展图像边缘像素
 
void BuildBorder (Image *img, unsigned i)
 填充边缘像素按最近的像素
 
void CvtEffect2Normal (Image *img)
 特效图片转普通图片
 

变量

constexpr std::string_view REGEX_FORMAT = ".(jpg|jpeg|png|tag|bmp|gif|hdr|pic)$"
 

详细描述

图像操作

枚举类型说明

◆ ExtendMode

enum class dl::Img::ExtendMode
strong
枚举值
ZERO 
COPY 

在文件 dl_image.h151 行定义.

函数说明

◆ AddRect()

void dl::Img::AddRect ( Image * img_tar,
const Image * img_src,
const RectU & rect,
const PointU & tar_xy )

添加另一个图像的部分到自己的位置上

参数
[in]img另一个图像
[in]rect另一图像选择的区域
[in]tar_xy自己的位置
注解
如果有超出源图像区域,或者超出目标图像区域,则什么都不做,只发出一条警告

◆ BuildBorder()

void dl::Img::BuildBorder ( Image * img,
unsigned i )

填充边缘像素按最近的像素

参数
[in]img图像
[in]i目标大小

◆ CalcLeastRect()

void dl::Img::CalcLeastRect ( const Image * img,
RectU & rect )

计算返回最小包围盒(去除边缘的全透明像素)

参数
[in]img图片
[in,out]rect包围盒,返回缩小后的,可能返回空矩形(全透明)
注解
传入空矩阵则使用图片大小

◆ Create() [1/2]

Image * dl::Img::Create ( const Size & size,
const Color & col )

创建图像

参数
[in]size大小
[in]color颜色
返回值
用户需要使用delete释放获得的指针,不会返回失败

◆ Create() [2/2]

Image * dl::Img::Create ( std::string_view path_name)

创建图像

参数
[in]path_name路径
返回值
用户需要使用delete释放获得的指针,除非失败返回了nullptr

◆ CreateSvg()

Image * dl::Img::CreateSvg ( std::string_view path_name,
const Size & size )

创建图像 从svg

参数
[in]path_name路径
[in]size大小
返回值
用户需要使用delete释放获得的指针,除非失败返回了nullptr

◆ CreateWebp() [1/2]

Image * dl::Img::CreateWebp ( BufferView buf)

◆ CreateWebp() [2/2]

Image * dl::Img::CreateWebp ( std::string_view path_name)

创建图像 从webp

参数
[in]path_name路径
返回值
用户需要使用delete释放获得的指针,除非失败返回了nullptr
待办事项
部分图像直接显示有问题

◆ CvtEffect2Normal()

void dl::Img::CvtEffect2Normal ( Image * img)

特效图片转普通图片

参数
[in|out]img 图像
注解

◆ Extend()

Image * dl::Img::Extend ( const Image * img,
unsigned i,
ExtendMode mode = ExtendMode::ZERO )

拓展图像边缘像素

参数
[in]img图像
[in]i目标大小

◆ IsHaveTranslucent()

bool dl::Img::IsHaveTranslucent ( const Image * img,
const RectU & rect )

返回是否包含非透明颜色

注解
只判断alpha通道

◆ IsSupportFormat()

bool dl::Img::IsSupportFormat ( std::string_view str,
bool read )
inline

是否支持的格式

参数
[in]str格式,例如png
[in]read为真时检查可读取,反之为可保存
注解
依赖stb_image库,注意必须全小写

在文件 dl_image.h40 行定义.

◆ Resize() [1/2]

Image * dl::Img::Resize ( const Image * img,
const Size & size )

缩放图像

参数
[in]img图像
[in]size目标大小

◆ Resize() [2/2]

Image * dl::Img::Resize ( const Image * img,
Float scale )

◆ Save()

bool dl::Img::Save ( const Image * img,
std::string_view path_name )

保存到图像

◆ SaveKtx() [1/2]

bool dl::Img::SaveKtx ( Image * img,
std::string_view path_name )
inline

在文件 dl_image.h99 行定义.

◆ SaveKtx() [2/2]

bool dl::Img::SaveKtx ( std::span< Image * > vec_img,
std::string_view path_name )

保存到图像(ktx格式)

◆ SetAlphaZero() [1/2]

void dl::Img::SetAlphaZero ( Image * img)

设置透明色颜色为0,针对于某些颜色透明,但是其他通道非0

◆ SetAlphaZero() [2/2]

void dl::Img::SetAlphaZero ( Image * img,
uint8_t a,
uint32_t col_new = 0 )

设置透明色颜色为0,针对于某些颜色透明,但是其他通道非0

参数
[in]a阈值,小于等于a就认为是透明的
[in]col_new替换为颜色

变量说明

◆ REGEX_FORMAT

std::string_view dl::Img::REGEX_FORMAT = ".(jpg|jpeg|png|tag|bmp|gif|hdr|pic)$"
constexpr

在文件 dl_image.h52 行定义.