Using ColorMatrix for Creating Negative Image

.NET provides two classes for image transformations: Matrix, used for geometric transformations, and ColorMatrix, used for color transformations. One of such color transformations is inverting or negating. This means subtracting each color component from 255. Black (0,0,0) becomes White (255, 255, 255), and Green (0, 255, 0) becomes Magenta (255, 0, 255). You can find … Read more

New MFC Toolbar Controls in Visual Studio 2010

With VC++ Feature Pack Microsoft has added new classes to MFC to provide support for new controls. However, these controls were not available from the designer. One had to manually wrote all the code for enabling an application to use these controls. Visual Studio 2010 Beta 2, released a couple of weeks ago, provides support … Read more

Hacking WCF Extensions for Visual Studio 2005

If you are still using Visual Studio 2005 and need to develop WCF services you need the following: Microsoft .NET Framework 3.0 Redistributable Package (SP2) The Visual Studio 2005 extensions for.NET Framework 3.0 (WCF & WPF), November 2006 CTP 3 The problem with the later is that Microsoft no longer supports it. Visual Studio 2008 … Read more

DotNetZip Library

.NET 3.0 provides some support for working with ZIP files. However, it has an important drawback: it only works for packages that are conformant to the Open Packaging Convention standard. Most of the ZIP files are not. Codeplex features a library called DotNetZip that provides support for packing and unpacking in C#, VB.NET or any … Read more

Reference a XAML From Another Project

When you create a WPF application, the start-up window is by default one from the same project (by default called Window1.xaml). < Application x:Class=”WpfApplication1.App” xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml” StartupUri=”Window1.xaml” > < Application.Resources > < /Application.Resources > < /Application > But what if you want to use a window from another project (class library)? The pack URI scheme, … Read more

Concepts are out of C++0x

Concepts were supposed to be an important new feature in C++0x. They were meant to allow programmers to specify properties (like constraints) for templates, allow compilers to do some optimization and tools to do some formal checking on the code. After years of debate, the standard committee found them “untried, risky and controversial” and ruled … Read more