设置图片指定坐标的颜色 - SetPixel
函数简介
设置图片中指定坐标点的颜色为新的颜色值。此函数支持ARGB颜色格式,可以设置带透明度的颜色。适用于图像编辑、像素级修改等场景。
接口名称
SetPixel
DLL调用
int SetPixel(long ola, long image, int x, int y, string color)
参数定义:
ola
(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。image
(长整型数): OLAImage对象的地址x
(整型数): 要设置颜色的X坐标y
(整型数): 要设置颜色的Y坐标color
(字符串): 要设置的颜色值,支持ARGB格式,如"#FFFFFFFF"(带透明度)或"#FFFFFF"(不透明)
示例:
// 加载图片
long image = LoadImage(ola, "image.png");
if (image != 0) {
// 设置指定坐标的颜色(不透明)
if (SetPixel(ola, image, 100, 100, "#FF0000")) {
printf("设置红色成功\n");
}
// 设置指定坐标的颜色(带透明度)
if (SetPixel(ola, image, 200, 200, "#80FF0000")) {
printf("设置半透明红色成功\n");
}
// 保存修改后的图片
SaveImageFromPtr(ola, image, "result.png");
// 释放内存
FreeImagePtr(ola, image);
}
COM调用
long SetPixel(long image, int x, int y, string color)
参数定义:
image
(长整型数): OLAImage对象的地址x
(整型数): 要设置颜色的X坐标y
(整型数): 要设置颜色的Y坐标color
(字符串): 要设置的颜色值,支持ARGB格式,如"#FFFFFFFF"(带透明度)或"#FFFFFF"(不透明)
示例:
# 加载图片
image = ola.LoadImage("image.png")
if image:
# 设置指定坐标的颜色(不透明)
if ola.SetPixel(image, 100, 100, "#FF0000"):
print("设置红色成功")
# 设置指定坐标的颜色(带透明度)
if ola.SetPixel(image, 200, 200, "#80FF0000"):
print("设置半透明红色成功")
# 保存修改后的图片
ola.SaveImageFromPtr(image, "result.png")
# 释放内存
ola.FreeImagePtr(image)
返回值
整型数:
- 1: 成功设置颜色
- 0: 设置失败
注意事项
- 颜色值支持两种格式:
- 不透明颜色:6位十六进制,如"#FFFFFF"
- 带透明度颜色:8位十六进制,如"#FFFFFFFF"(前两位为透明度)
- 坐标必须在图片的有效范围内
- 原始图片会被直接修改
- 使用完毕后必须调用 FreeImagePtr 释放内存
- 建议在使用前检查图片指针和坐标的有效性
- 处理大图片时注意性能影响
- 如果需要批量修改多个像素,建议使用 SetPixelList 函数
- 颜色值不区分大小写
- 建议在修改前保存原始图片的备份
- 修改后的图片需要重新保存才能永久保存更改