Imagework - librairie de transformations d'images

Description

Pour ma première source, je vous propose une librairie permettant de réaliser plusieurs type de modifications sur une image, comme redimensionnement en concervant ou non le ratio, crop, watermark avec possibilité de choisir la position et gestion automatique de la taille de la police pour que le texte ne déborde pas de l'image, et plusieurs autres effets... je vous laisse découvrir tout ça dans le zip

Source / Exemple :


string Filename = this.fu.FileName.Replace(' ', '_');
                    this.fu.SaveAs(this.Folder + Filename);

                    ImageWork IW = new ImageWork(this.Folder + Filename, true);
                    if (IW.FileFormat != null)
                    {
                        if (this.cb_ratio.Checked)
                            IW.ResizeRatio(int.Parse(this.ddl_size.SelectedValue.Split(new char[] { '|' })[0]), int.Parse(this.ddl_size.SelectedValue.Split(new char[] { '|' })[1]));
                        else
                            IW.Resize(int.Parse(this.ddl_size.SelectedValue.Split(new char[] { '|' })[0]), int.Parse(this.ddl_size.SelectedValue.Split(new char[] { '|' })[1]));

                        if (this.txt_watermark.Text != "")
                        {
                            switch (this.ddl_watermark_color.SelectedIndex)
                            {
                                case 0:
                                    IW.TextColor = System.Drawing.Brushes.Black;
                                    break;
                                case 1:
                                    IW.TextColor = System.Drawing.Brushes.White;
                                    break;
                                case 2:
                                    IW.TextColor = System.Drawing.Brushes.Red;
                                    break;
                                case 3:
                                    IW.TextColor = System.Drawing.Brushes.Green;
                                    break;
                                case 4:
                                    IW.TextColor = System.Drawing.Brushes.Blue;
                                    break;
                                case 5:
                                    IW.TextColor = System.Drawing.Brushes.Yellow;
                                    break;
                            }

                            if (this.ddl_watermark_backcolor.SelectedValue != "")
                            {
                                int R = int.Parse(this.ddl_watermark_backcolor.SelectedValue.Split(new char[] { '|' })[0]);
                                int G = int.Parse(this.ddl_watermark_backcolor.SelectedValue.Split(new char[] { '|' })[1]);
                                int B = int.Parse(this.ddl_watermark_backcolor.SelectedValue.Split(new char[] { '|' })[2]);
                                IW.WatermarkBackground = System.Drawing.Color.FromArgb(R,G,B);
                            }

                            float FontSize=IW.GetWatermarkFontSize(this.txt_watermark.Text,this.ddl_watermark_font.SelectedValue,float.Parse(this.ddl_watermark_size.SelectedValue));
                            IW.TextFont =new System.Drawing.Font(this.ddl_watermark_font.SelectedValue,FontSize);

                            switch (this.ddl_watermark_position.SelectedIndex)
                            {
                                case 0:
                                    IW.Watermark(this.txt_watermark.Text,Position.TopLeft);
                                    break;
                                case 1:
                                    IW.Watermark(this.txt_watermark.Text, Position.TopCenter);
                                    break;
                                case 2:
                                    IW.Watermark(this.txt_watermark.Text, Position.TopRight);
                                    break;
                                case 3:
                                    IW.Watermark(this.txt_watermark.Text, Position.MiddleLeft);
                                    break;
                                case 4:
                                    IW.Watermark(this.txt_watermark.Text, Position.MiddleCenter);
                                    break;
                                case 5:
                                    IW.Watermark(this.txt_watermark.Text, Position.MiddleRight);
                                    break;
                                case 6:
                                    IW.Watermark(this.txt_watermark.Text, Position.BottomLeft);
                                    break;
                                case 7:
                                    IW.Watermark(this.txt_watermark.Text, Position.BottomCenter);
                                    break;
                                case 8:
                                    IW.Watermark(this.txt_watermark.Text, Position.BottomRight);
                                    break;
                            }

                            IW.SaveMemory(this.Folder + Filename);

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.