If the image is a raw bitmap inside the system memory, you can construct a PixelBuffer and pass the pointer to that image into it using the proper texture format flag. ClanLib supports RGBA_8888(cl_rgba8) and RGB_888(cl_rgb8), while the others need to be converted manually to work. From there you can create a texture using the newly created PixelBuffer.

In ClanLib 2.3 you can do something like:

CL_PixelBuffer image(width, height, cl_rgba8, raw_data); // Create system pixel buffer from raw_data
CL_Texture texture(clgc, width, height, cl_rgba8); // Create texture with proper dimensions
texture.set_image(image); // Put image data into texture.