Sometimes, we need to place one or more images on the other image’s surface or create an image from a few image files by joining them together. For example, we have a.jpg, b.jpg and c.jpg files and we need to create an image with the word “abc”. In this short tutorial, I will show how to do this.
System.Drawing namespace in the .NET Framework provides access to basic graphics functionality and
System.Drawing.Imagine namespace includes classes and interfaces that provide imaging functionality. To use those namespaces, you need to add a reference to System.Drawing.dll in the Solution Explorer.
Now let’s discuss the code. At first, we need to create a new image on the surface of which we will place all three images (a, b, c) to create the word “abc”:
Image img = new Bitmap(300, 100);
Two parameters determine the dimension of the new image. If we want to use the already existing image as background, we can create an image from file:
Image img = Image.FromFile("Image.jpg");
Before make changes with
img, we need to convert it to a
Graphics g = Graphics.FromImage(img);
Graphics.DrawImage method, we can put all letters on the image:
g.DrawImage(Image.FromFile("a.gif"), new Point(10, 10));
g.DrawImage(Image.FromFile("b.jpg"), new Point(70, 10));
g.DrawImage(Image.FromFile("c.jpg"), new Point(130, 10));
The first parameter is the
image object, the second – object
Point that we use to determine a position by rectangular coordinates.
To save the result in a file, call the
GDI library supports a lot of graphic formats. For instance, you can save the result as GIF or PNG:
To display graphics without a white border, I saved letter A as a GIF file and used transparency. As we see far in the result,
Graphics.DrawImage method detects that
Image object includes a transparency layer and places it in the right way.
All source files with example images can be download from here.