#

WPF: Bitmap verkleinern

 

C# Code Sample:

Dieser Code zoomt ein ScreenShot-Image auf eine passende Breite in Zentimeter.

Dabei wird der Skalierungs-Faktor berechnet anhand des Bildes von Dot-per-Inch des Monitors auf eine vorgegebene Breite in Zentimeter.

 

Hintergrund:

Wenn man Screenshots von einem Bildschirm erstellt unter Windows und diese in einem Programm wie Word einfügen möchte, dann sind diese meistens überdimensioniert Breit.

Deshalb passt dieses Programm automatisch ein Bild aus der Zwischenablage an eine einstellbare Breite an.

Lösung:

Unter WPF werden mit der Methode TransformedBitmap Bilder transformiert in neue Bilder. Als Transformation wird in diesem Fall ScaleTransform verwendet

 

BitmapSource in den Größe

Bitmap, BitmapSource, Zoom-in, Zoom-Out, Scale Transform

            //--< scale_to_width >--

            double dblWidth_cm = 19;

            int dpi = 96;

            double dblScale = dblWidth_cm * (dpi * 0.393700787) / intWidth;

 

            TransformedBitmap resized_img = new TransformedBitmap(myCrop, new ScaleTransform(dblScale, dblScale));

            //--</ scale_to_width >--

 

 

Transformationen:

Als Transformationen stehen die gleichen Veränderung zur Verfügung wie bei XAML Anzeigeelementen

 

MatrixTransform

RotateTransform

ScaleTransform

SkewTransform

 

Mobile

.

0123movie.net