All pastes #180013 Raw Edit

Mine

public text v1 · immutable
#180013 ·published 2006-09-22 19:08 UTC
rendered paste body
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char** argv) {
	if (argc < 4 || (argc > 1 && strlen(argv[1]) < 2) || (argc > 2 && strlen(argv[2]) != 6) || (argc > 3 && strlen(argv[3]) != 6))
		printf("fade <string> <rgb1> <rgb2>");
	else {
		int len = strlen(argv[1]);
		int r1, g1, b1, r2, g2, b2;
		
		sscanf(argv[2], "%2X%2X%2X", &r1, &g1, &b1); r1 = abs(r1) % 256; g1 = abs(g1) % 256; b1 = abs(b1) % 256;
		sscanf(argv[3], "%2X%2X%2X", &r2, &g2, &b2); r2 = abs(r2) % 256; g2 = abs(g2) % 256; b2 = abs(b1) % 256;
		
		float dr = (float)(r2 - r1) / (len - 1), dg = (float)(g2 - g1) / (len - 1), db = (float)(g2 - g1) / (len - 1);
		
		for (int i = 0; i < len; i++)
			printf("[color=\"#%02X%02X%02X\"]%c[/color]", (int)(r1 + dr * i), (int)(g1 + dg * i), (int)(b1 + db * i), *(argv[1] + i));
	}
}