initial
This commit is contained in:
105
libs/converter.cs
Normal file
105
libs/converter.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Markup;
|
||||
using C4IT_CustomerPanel.Properties;
|
||||
|
||||
namespace C4IT_CustomerPanel.libs
|
||||
{
|
||||
|
||||
public class Converter
|
||||
{
|
||||
|
||||
|
||||
public static System.Windows.Controls.Image ConvertImageToWpfImage(System.Drawing.Image image)
|
||||
{
|
||||
if (image == null)
|
||||
throw new ArgumentNullException(nameof(image), Resources.Converter_ConvertImageToWpfImage_Image_darf_nicht_null_sein_);
|
||||
|
||||
using (System.Drawing.Bitmap dImg = new System.Drawing.Bitmap(image))
|
||||
{
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
dImg.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
|
||||
|
||||
System.Windows.Media.Imaging.BitmapImage bImg = new System.Windows.Media.Imaging.BitmapImage();
|
||||
|
||||
bImg.BeginInit();
|
||||
bImg.StreamSource = new MemoryStream(ms.ToArray());
|
||||
bImg.EndInit();
|
||||
|
||||
System.Windows.Controls.Image img = new System.Windows.Controls.Image {Source = bImg};
|
||||
|
||||
return img;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static System.Drawing.Image ConvertWpfImageToImage(System.Windows.Controls.Image image)
|
||||
{
|
||||
if (image == null)
|
||||
throw new ArgumentNullException(nameof(image), Resources.Converter_ConvertImageToWpfImage_Image_darf_nicht_null_sein_);
|
||||
|
||||
System.Windows.Media.Imaging.BmpBitmapEncoder encoder = new System.Windows.Media.Imaging.BmpBitmapEncoder();
|
||||
MemoryStream ms = new MemoryStream();
|
||||
encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create((System.Windows.Media.Imaging.BitmapSource)image.Source));
|
||||
encoder.Save(ms);
|
||||
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
|
||||
return img;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Remove HTML from string with Regex.
|
||||
/// </summary>
|
||||
public static string StripTagsRegex(string source)
|
||||
{
|
||||
string test = source.Replace(" ", " ");
|
||||
return Regex.Replace(test, "<.*?>", string.Empty);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Compiled regular expression for performance.
|
||||
/// </summary>
|
||||
readonly Regex _htmlRegex = new Regex("<.*?>", RegexOptions.Compiled);
|
||||
|
||||
/// <summary>
|
||||
/// Remove HTML from string with compiled Regex.
|
||||
/// </summary>
|
||||
public string StripTagsRegexCompiled(string source)
|
||||
{
|
||||
return _htmlRegex.Replace(source, string.Empty);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove HTML tags from string using char array.
|
||||
/// </summary>
|
||||
public string StripTagsCharArray(string source)
|
||||
{
|
||||
char[] array = new char[source.Length];
|
||||
int arrayIndex = 0;
|
||||
bool inside = false;
|
||||
|
||||
foreach (char @let in source)
|
||||
{
|
||||
if (@let == '<')
|
||||
{
|
||||
inside = true;
|
||||
continue;
|
||||
}
|
||||
if (@let == '>')
|
||||
{
|
||||
inside = false;
|
||||
continue;
|
||||
}
|
||||
if (!inside)
|
||||
{
|
||||
array[arrayIndex] = @let;
|
||||
arrayIndex++;
|
||||
}
|
||||
}
|
||||
return new string(array, 0, arrayIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user