Re-size Image using C# (Trackbar, Panel and PictureBox)

This video shows how to re-size image using C# (.NET Framework). It uses two trackbars, panel and picturebox controls.

resize image using java: https://youtu.be/N_jddMMhzqc

resize image using Objective-C: https://youtu.be/gTtXEfEbH0Y

Enjoy!!!
don’t forget to subscribe on YouTube as more code coming.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ResizeImage
{
    public partial class Form1 : Form
    {
        Image target_image;
        int width;
        int height;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            target_image = Image.FromFile(@"C:\tl\test.jpg");
            width = target_image.Width;
            height = target_image.Height;
            pic_ctl.Image = target_image;
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            width = (target_image.Width * slider_h.Value) / 100;
            pic_ctl.Image = ResizeNow(width, height);
        }

        private void trackBar2_Scroll(object sender, EventArgs e)
        {
            height = (target_image.Height * slider_v.Value) / 100;
            pic_ctl.Image = ResizeNow(width, height);
        }

        private Bitmap ResizeNow(int target_width,int target_height)
        {
            Rectangle dest_rect=new Rectangle(0,0,target_width,target_height);
            Bitmap destImage=new Bitmap(target_width,target_height);
            destImage.SetResolution(target_image.HorizontalResolution, target_image.VerticalResolution);
            using (var g = Graphics.FromImage(destImage))
            {
                g.CompositingMode = CompositingMode.SourceCopy;
                g.CompositingQuality = CompositingQuality.HighQuality;
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.SmoothingMode = SmoothingMode.HighQuality;
                g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                using (var wrapmode = new ImageAttributes())
                {
                    wrapmode.SetWrapMode(WrapMode.TileFlipXY);
                    g.DrawImage(target_image, dest_rect, 0, 0, target_image.Width, target_image.Height, GraphicsUnit.Pixel, wrapmode);
                }
            }
            return destImage;
        }
    }
}

You may also like...