功能:
设置高级函数颜色填充模式为纹理填充模式。
使用前需要先将图像用ege_gentexture()生成纹理图。
若填充区域超出纹理区域大小,将使用纹理重复填充
纹理图像使用ARGB颜色,如果图像透明度为0,则无填充效果
声明:
void ege_setapttern_texture(
PIMAGE texture,
float x,
float y,
float w,
float h,
PIMAGE pimg= NULL
);
参数:
texture
用作填充的纹理图像,需要先使用ege_gentexture()生成纹理,不可为NULL。
x, y, w, h
纹理图像上作为纹理填充的区域,区域必须在纹理图像范围内,否则填充失效。
(设置好区域后,区域的左上角将与目标图像视口原点对齐,如果想任意调整对齐位置,
可以通过setviewport()设置视口改变原点位置)
pimg
设置的目标图像,默认为 NULL,即设置窗口。
返回值:
(无)
示例:
#include <graphics.h>
int main()
{
initgraph(640, 480, 0);
setbkcolor(WHITE);
setcolor(EGEACOLOR(0xFF, RED));
setfillcolor(EGEACOLOR(0xFF, BLUE));
//创建图像图像
PIMAGE pimg = newimage();
ege_fillellipse(300, 0, 100, 100);
getimage(pimg, 300, 0, 100, 100);
//可设置图像透明度
ege_setalpha(0xFF, pimg);
//生成纹理图像
ege_gentexture(true, pimg);
//设置纹理填充模式
ege_setpattern_texture(pimg, 0, 0,100, 100);
//设置纹理填充模式后纹理图像可销毁
delimage(pimg);
//通过设置视口方法设置纹理对齐
setviewport(50, 50, 700, 700, false);
//下面有填充的高级函数会使用纹理填充图形
ege_fillrect(-100, -100, 320, 320);
ege_fillellipse(200, 200, 300, 300);
getch();
closegraph();
return 0;
}