<< Return to Main Articles Page

Most Popular Articles

Articles by Topic

A Home Builders Opinion Air Conditioning Tips Beachfront Houseplans building lots bungalow Cape Cod House Plans Color Schemes Contemporary Style country house plans craftsman house plans Curb Appeal Custom vs Stock House Plans Do-It-Yourself Dream Homes Engineering House Plans european house plans Exterior Materials Feng Shui Floorplan Layout Frank Lloyd Wright French Country Home Design Garage Plans Garages green design Home Builders Home Designers Homebuilding activity homeplans house plan styles house plans Housing Market Indoor Gyms in-law suites Jake England Landscaping Log Cabins luxury home plans Mediterranean Homeplans modern home plans Modifications Mortgages Mountain House Plans National Association of Home Builders Passive Solar Design Perfect House Plans Plan Images Prairie Houseplans Ranch House Plans Remodeling

Recent Articles

Updated Image Processing

Working on a website in the middle of the night as I usually do is always an interesting and lonely experience. The benefit is that you get a lot done because no one bothers you. The downside is that waking up the next day is never fun.

This evening I managed to image processing code for our site. Every image - hundreds of thousands of them are passed through that code. It is fun to watch on the server because you can see the images being generated and then cached on the fly. Hundreds of them are generated every second. Pretty cool eh?

The uncool part was that it has had a few problems this last week. We recently received some images from our designers that were in a new format. (Who would have thought that there are so many formats for gif and jpg). At any rate the image processor was choking on some of some of the unsupported formats, throwing an exception, and then spewing out the 'Image Not Found' thumbnail that it likes to spit out when it gets lost.

This of course drove everyone in the office crazy because, well the image was there but the computer was telling then it wasn't.

Its fixed now.

In case you wonder what made the difference here it is:

This was the exception:
A Graphics object cannot be created from an image that has an indexed pixel format.

Here's the documentation from Microsoft

and here is the code I used to deal with the issue:

        private Bitmap GetTempImage(int width, int height)
        {
            Bitmap tempImage;
            if(_CurrentImage.PixelFormat == PixelFormat.Undefined ||
               _CurrentImage.PixelFormat == PixelFormat.DontCare ||
               _CurrentImage.PixelFormat == PixelFormat.Format1bppIndexed ||
               _CurrentImage.PixelFormat == PixelFormat.Format4bppIndexed ||
               _CurrentImage.PixelFormat == PixelFormat.Format8bppIndexed ||
               _CurrentImage.PixelFormat == PixelFormat.Format16bppGrayScale ||
               _CurrentImage.PixelFormat == PixelFormat.Format16bppArgb1555)
            {
                // None of the above types are support so 
                //just create a bitmap that uses the default pixel format
                tempImage = new Bitmap(width, height);
            }
            else
            {
                tempImage = new Bitmap(width, height, _CurrentImage.PixelFormat);
            }
            return tempImage;
        }

Comments:

engjake says:
I'm so glad you fixed this, i'm not kidding. We actually had some customers call in wondering what happened to the images for the houseplan they were viewing. Thanks for fixing it so fast.
Posted:1/29/2008
Leave a Comment:

You must be signed in to add a comment

Related Articles