C# – Bild skalieren

Dezember 11, 2009 - von: Patrick

Mit der folgenden Funktionen können Sie binnen Sekunden die Größe eines Bildes ändern. Sie müssen lediglich zwei Parameter zu der Funktion ResizeMe mitgeben einmal das Quellbild und die neue Breite.

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

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private static Bitmap ResizeMe(Image srcImg, double dblWidth)
        {
            // Faktor berechnen
            double dblFac = dblWidth / srcImg.Width;
            double dblHeight = dblFac * srcImg.Height;

            // Bild bearbeiten
            Bitmap resizedImg = new Bitmap((int)dblWidth, (int)dblHeight);
            using (Graphics gNew = Graphics.FromImage(resizedImg))
            {
                gNew.InterpolationMode = InterpolationMode.HighQualityBicubic;
                gNew.DrawImage(srcImg, new Rectangle(0, 0, (int)dblWidth, (int)dblHeight));
            }
            return resizedImg;
        }

        private void bResize_Click(object sender, EventArgs e)
        {
            Image img = new Bitmap(@"C:\img.png");
            ResizeMe(img, 200);
        }

    }
}

Suchbegriffe

Kategorie: Allgemein Kommentieren »


Kommentar schreiben

Kommentar