rafaelss (owner)

Revisions

gist: 145450 Download_button fork
public
Public Clone URL: git://gist.github.com/145450.git
Embed All Files: show embed
Convert.cs #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace Helper
{
    public static class Convert
    {
        public static int ToInt(object value)
        {
            try
            {
                return System.Convert.ToInt32(value);
            }
            catch
            {
                return 0;
            }
        }
    }
}
Image.cs #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using DrawingImage = System.Drawing.Image;
 
namespace Helper
{
    public class Image
    {
        public static DrawingImage Resize(DrawingImage image, Size size)
        {
            float percentWidth = ((float)size.Width / (float)image.Width);
            float percentHeight = ((float)size.Height / (float)image.Height);
 
            float percent = percentWidth;
            if (percentHeight < percentWidth)
            {
                percent = percentHeight;
            }
 
            int width = (int)(image.Width * percent);
            int height = (int)(image.Height * percent);
 
            DrawingImage thumb = new Bitmap(width, height, image.PixelFormat);
            using (Graphics graphic = Graphics.FromImage(thumb))
            {
                Rectangle rectangle = new Rectangle(0, 0, width, height);
 
                graphic.CompositingQuality = CompositingQuality.HighQuality;
                graphic.SmoothingMode = SmoothingMode.HighQuality;
                graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
                graphic.DrawImage(image, rectangle);
            }
            return thumb;
        }
 
        public static void SaveJpeg(string path, DrawingImage image, long quality)
        {
            EncoderParameter qualityParam = new EncoderParameter(Encoder.Quality, quality);
            ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
 
            if (jpegCodec != null)
            {
                EncoderParameters encoderParams = new EncoderParameters(1);
                encoderParams.Param[0] = qualityParam;
 
                using (MemoryStream ms = new MemoryStream())
                {
                    image.Save(ms, jpegCodec, encoderParams);
 
                    using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
                    {
                        byte[] buffer = ms.GetBuffer();
                        fs.Write(buffer, 0, buffer.Length);
                    }
                }
            }
        }
 
        private static ImageCodecInfo GetEncoderInfo(string mimeType)
        {
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
            for (int i = 0; i < codecs.Length; i++)
            {
                if (codecs[i].MimeType == mimeType)
                {
                    return codecs[i];
                }
            }
            return null;
        }
    }
}
String.cs #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
using System.Collections.Generic;
 
namespace Helper
{
    public static class String
    {
        public static string Cleanup(string filename)
        {
            Dictionary<char, char> replacement = new Dictionary<char, char>();
            replacement['Š'] = 'S';
            replacement['š'] = 's';
            replacement['Đ'] = 'D';
            replacement['đ'] = 'd';
            replacement['Ž'] = 'Z';
            replacement['ž'] = 'z';
            replacement['Č'] = 'C';
            replacement['č'] = 'c';
            replacement['Ć'] = 'C';
            replacement['ć'] = 'c';
            replacement['À'] = 'A';
            replacement['Á'] = 'A';
            replacement['Â'] = 'A';
            replacement['Ã'] = 'A';
            replacement['Ä'] = 'A';
            replacement['Å'] = 'A';
            replacement['Æ'] = 'A';
            replacement['Ç'] = 'C';
            replacement['È'] = 'E';
            replacement['É'] = 'E';
            replacement['Ê'] = 'E';
            replacement['Ë'] = 'E';
            replacement['Ì'] = 'I';
            replacement['Í'] = 'I';
            replacement['Î'] = 'I';
            replacement['Ï'] = 'I';
            replacement['Ñ'] = 'N';
            replacement['Ò'] = 'O';
            replacement['Ó'] = 'O';
            replacement['Ô'] = 'O';
            replacement['Õ'] = 'O';
            replacement['Ö'] = 'O';
            replacement['Ø'] = 'O';
            replacement['Ù'] = 'U';
            replacement['Ú'] = 'U';
            replacement['Û'] = 'U';
            replacement['Ü'] = 'U';
            replacement['Ý'] = 'Y';
            replacement['Þ'] = 'B';
            replacement['ß'] = 'S';
            replacement['à'] = 'a';
            replacement['á'] = 'a';
            replacement['â'] = 'a';
            replacement['ã'] = 'a';
            replacement['ä'] = 'a';
            replacement['å'] = 'a';
            replacement['æ'] = 'a';
            replacement['ç'] = 'c';
            replacement['è'] = 'e';
            replacement['é'] = 'e';
            replacement['ê'] = 'e';
            replacement['ë'] = 'e';
            replacement['ì'] = 'i';
            replacement['í'] = 'i';
            replacement['î'] = 'i';
            replacement['ï'] = 'i';
            replacement['ð'] = 'o';
            replacement['ñ'] = 'n';
            replacement['ò'] = 'o';
            replacement['ó'] = 'o';
            replacement['ô'] = 'o';
            replacement['õ'] = 'o';
            replacement['ö'] = 'o';
            replacement['ø'] = 'o';
            replacement['ù'] = 'u';
            replacement['ú'] = 'u';
            replacement['û'] = 'u';
            replacement['ý'] = 'y';
            replacement['ý'] = 'y';
            replacement['þ'] = 'b';
            replacement['ÿ'] = 'y';
            replacement['Ŕ'] = 'R';
            replacement['ŕ'] = 'r';
            replacement[' '] = '-';
 
            char[] chars = filename.ToCharArray();
            foreach (char chr in chars)
            {
                if (replacement.ContainsKey(chr))
                {
                    filename = filename.Replace(chr, replacement[chr]);
                }
            }
            return filename;
        }
    }
}