示例#1
0
clan::Image Alpha::create_block(clan::Canvas &canvas, const clan::Colorf &colour)
{
	const int size = 24;
	
	clan::Color colour_int(colour);
	clan::ubyte8 colour_a = colour_int.a;
	clan::ubyte8 colour_r = colour_int.r;
	clan::ubyte8 colour_g = colour_int.g;
	clan::ubyte8 colour_b = colour_int.b;

	clan::PixelBuffer pbuff(size, size, clan::tf_rgba8);
	clan::ubyte8 *pixels = (clan::ubyte8 *) pbuff.get_data();
	int pitch = pbuff.get_pitch();
	for (int ypos = 0; ypos < size; ypos++)
	{
		clan::ubyte8 *dest_ptr = pixels + ypos * pitch;
		for (int xpos = 0; xpos < size; xpos++)
		{
			*(dest_ptr++) = colour_a;
			*(dest_ptr++) = colour_b;
			*(dest_ptr++) = colour_g;
			*(dest_ptr++) = colour_r;

		}
	}
	return clan::Image(canvas, pbuff, pbuff.get_size());

}
示例#2
0
clan::Image Alpha::create_block(clan::Canvas &canvas, const clan::Colorf &colour)
{
	const int size = 24;

	clan::Color colour_int(colour);

	clan::PixelBuffer pbuff(size, size, clan::tf_rgba8);
	uint8_t *pixels = pbuff.get_data_uint8();
	int pitch = pbuff.get_pitch();
	for (int ypos = 0; ypos < size; ypos++)
	{
		uint8_t *dest_ptr = pixels + ypos * pitch;
		for (int xpos = 0; xpos < size; xpos++)
		{
			*(dest_ptr++) = colour_int.r;
			*(dest_ptr++) = colour_int.g;
			*(dest_ptr++) = colour_int.b;
			*(dest_ptr++) = colour_int.a;
		}
	}
	return clan::Image(canvas, pbuff, pbuff.get_size());
}