How to make filters?
You can look at implementations for open source image editing programs (e.g. GIMP). This link from MSDN Magazine, January 2005 by Stephen Toub, entitled "Sepia Tone, StringLogicalComparer, and More" in the .NET matters section specifies a linear transformation of the color space to get a Sepia effect: "New Red = R*.393 + G*.769 + B*.189 New Green = R*.349 + G*.686 + B*.168 New Blue = R*.272 + G*.534 + B*.131" where each channel is normalized to lie in $[0,1]$. 

Its just applying the formula on each pixel, so you don't need any special libraries.