Skip to main content

Posts

Showing posts with the label csharp

Indexers in C#

Definition of Indexers from MSDN Indexers allow instances of a class or struct to be indexed just like arrays. Indexers resemble properties except that their accessors take parameters. Whenever you are accessing individual element from List<T> or Hashtable<T,T> etc you are using Indexers . For example List<string> str=new List<string>(); str.Add("Rameez"); str.Add("Usmani"); string firstName=str[0];  //[0] is implying that you are calling indexer on instance of List class How Indexer is added to a class To add an indexer to a class you have to expose a property named "this(actually a keyword)" followed by "data type of index" in square brackets . Like this public ReturnDataType this[indexDataType] {     get { //logic to return the correct value }     set { //logic to set the correct value } } Lets say you have collection of Students and you want to access Student by name using Indexer , here is h...

Resizing image in C#

In this blog post I will explain in short how to load and re size an image in C# and save the resulting image in a file. Actually the process is very easy. Lets break it in chunks Loading image from a file .NET has multiple ways to load an image. 1) From a file 2) From a Stream object 3) From a GDI Bitmap object For this post we will only load image from a File.Loading image from file is straight forward. It requires calling static method FromFile of Image class , passing the file path as a parameter. Here is how Image myImage=Image.FromFile(sourcePath); Re-sizing image As we now have Image instance we have to re size it. For re-sizing we will use one overload of Bitmap class constructor which takes Image instance and new width and height for scaling. So here is the one liner to do this job Bitmap bmp=new Bitmap(myImage,newWidth,newHeight); Saving the resulting image We have a Bitmap containing scaled version of our original image.Now we will save it to a ...