ToBitmap() public method

Converts this instance to a Bitmap using ImageFormat.Bmp.
public ToBitmap ( ) : Bitmap
return Bitmap
 private static void Test_ToBitmap(MagickImage image, ImageFormat format)
 {
   using (Bitmap bmp = image.ToBitmap(format))
   {
     Assert.AreEqual(format, bmp.RawFormat);
   }
 }
        public static Bitmap Blur(Bitmap image, double blurSize)
        {
            MagickImage magick = new MagickImage(image);
            magick.Blur(0, blurSize);
            image = magick.ToBitmap();

            return image;
        }
        public static Bitmap FastBlur(Uri image, double percentage)
        {
            MagickImage magick = new MagickImage(new Bitmap(image.AbsolutePath));
            magick.Resize(new Percentage(50.0 / percentage));
            magick.Resize(new Percentage(200 * percentage));

            return magick.ToBitmap();
        }
        public static BitmapImage FastBlur(BitmapImage image, double percentage)
        {
            MagickImage magick = new MagickImage(ImageUtilities.BitmapImage2Bitmap(image));
            magick.Resize(new Percentage(50.0 / percentage));
            magick.Resize(new Percentage(200 * percentage));

            return magick.ToBitmap().ToBitmapImage();
        }
Beispiel #5
0
 public static Image LoadFromFileAsImage(string filename, bool wrapping = true) {
     if (wrapping && SafeMagickWrapper != null) {
         return SafeMagickWrapper(() => LoadFromFileAsImage(filename, false)) as Image;
     }
     
     using (var image = new MagickImage(filename)) {
         return image.ToBitmap();
     }
 }
Beispiel #6
0
        public static Engine.Surface.Canvas Blur(Engine.Surface.Canvas c, double radius, double sigma)
        {
            Bitmap bmp = Engine.Surface.Ops.ToBitmap(c);

            using (ImageMagick.MagickImage image = new ImageMagick.MagickImage(bmp))
            {
                image.Blur(radius, sigma);

                bmp = image.ToBitmap();
            }

            return(Engine.Surface.Ops.ToCanvas(bmp));
        }
Beispiel #7
0
 public static Bitmap reducenoise(Image sourceimg)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         originalMagickImage.ReduceNoise();
         Bitmap bitmap = originalMagickImage.ToBitmap();
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
Beispiel #8
0
 public static Bitmap cannyedge(Image sourceimg)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         originalMagickImage.CannyEdge();
         Bitmap bitmap = originalMagickImage.ToBitmap();
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
Beispiel #9
0
 public static Bitmap arc(Image sourceimg)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         originalMagickImage.Distort(DistortMethod.Arc, 360);
         Bitmap bitmap = originalMagickImage.ToBitmap();
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
Beispiel #10
0
 public static Bitmap sepiatone(Image sourceimg)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         originalMagickImage.SepiaTone();
         Bitmap bitmap = originalMagickImage.ToBitmap();
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
Beispiel #11
0
 public static Bitmap charcoal(Image sourceimg)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         originalMagickImage.Charcoal(5, 0);
         Bitmap bitmap = originalMagickImage.ToBitmap();
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
Beispiel #12
0
 public static Bitmap oilpaint(Image sourceimg)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         originalMagickImage.OilPaint();
         Bitmap bitmap = originalMagickImage.ToBitmap();
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
Beispiel #13
0
 public static Bitmap decode(Image sourceimg, string code)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         originalMagickImage.Decipher(code);
         Bitmap bitmap = originalMagickImage.ToBitmap();
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
Beispiel #14
0
        public static Bitmap FastBlur(Bitmap image, double percentage)
        {
            MagickImage magick = new MagickImage(image);
            magick.Resize(new Percentage(50.0 / percentage));
            magick.Resize(new Percentage(200 * percentage));

            return magick.ToBitmap();


            /*
            magick.Grayscale(ImageMagick.PixelIntensityMethod.Average);
            MagickImage temp = new MagickImage(Game.Instance.ResourceController.BuildPath(@"..\..\Global Resources\Assets\Images\black_50alpha.png"));
            temp.Alpha(AlphaOption.Activate);
            temp.Resize(magick.Width * 2, magick.Height * 2);
            magick.Composite(temp, CompositeOperator.Darken);
            */
        }
Beispiel #15
0
 /// <summary>
 /// 色相、饱和度、亮度、对比度
 /// </summary>
 /// <param name="sourceimg"></param>
 /// <param name="threshold"></param>
 /// <returns></returns>
 public static Bitmap HSLC(Image sourceimg, int H, int S, int L, int C)
 {
     if (sourceimg != null)
     {
         ImageMagick.MagickImage originalMagickImage;
         originalMagickImage = new ImageMagick.MagickImage((Bitmap)sourceimg);
         // 只调整图像的Hue色相值
         ImageMagick.Percentage  brightness = new ImageMagick.Percentage(L);                    // 100%表示不改变该属性
         ImageMagick.Percentage  saturation = new ImageMagick.Percentage(S);
         ImageMagick.Percentage  hue        = new ImageMagick.Percentage(H);                    // 滑动条范围值0%~200%
         ImageMagick.MagickImage newImage   = new ImageMagick.MagickImage(originalMagickImage); // 相当于深复制
         newImage.Modulate(brightness, saturation, hue);
         // 重新给Image控件赋值新图像
         Bitmap bitmap1 = newImage.ToBitmap();
         Bitmap bitmap  = Contrast(bitmap1, C);
         return(bitmap);
     }
     else
     {
         return((Bitmap)sourceimg);
     }
 }
    public void Test_ToBitmap()
    {
      using (MagickImage image = new MagickImage(Color.Red, 10, 10))
      {
        ExceptionAssert.Throws<NotSupportedException>(delegate ()
        {
          image.ToBitmap(ImageFormat.Exif);
        });

        Bitmap bitmap = image.ToBitmap();
        Assert.AreEqual(ImageFormat.MemoryBmp, bitmap.RawFormat);
        ColorAssert.AreEqual(Color.Red, bitmap.GetPixel(0, 0));
        ColorAssert.AreEqual(Color.Red, bitmap.GetPixel(5, 5));
        ColorAssert.AreEqual(Color.Red, bitmap.GetPixel(9, 9));
        bitmap.Dispose();

        Test_ToBitmap(image, ImageFormat.Bmp);
        Test_ToBitmap(image, ImageFormat.Gif);
        Test_ToBitmap(image, ImageFormat.Icon);
        Test_ToBitmap(image, ImageFormat.Jpeg);
        Test_ToBitmap(image, ImageFormat.Png);
        Test_ToBitmap(image, ImageFormat.Tiff);
      }

      using (MagickImage image = new MagickImage(new MagickColor(0, Quantum.Max, Quantum.Max, 0), 10, 10))
      {
        Bitmap bitmap = image.ToBitmap();
        Assert.AreEqual(ImageFormat.MemoryBmp, bitmap.RawFormat);
        Color color = Color.FromArgb(0, 0, 255, 255);
        ColorAssert.AreEqual(color, bitmap.GetPixel(0, 0));
        ColorAssert.AreEqual(color, bitmap.GetPixel(5, 5));
        ColorAssert.AreEqual(color, bitmap.GetPixel(9, 9));
        bitmap.Dispose();
      }
    }
        public IHttpActionResult ImageGenerate()
        {
            QpiroJSON resp = new QpiroJSON();
            UserProperty.ImgType itype = new UserProperty.ImgType();
            PixFormat PixelFormat = new PixFormat();
            string imgName = "";
            try
            {
                ///////////////////////////////////////////////
                int bsy = UserProperty.XmlGetValue("Busy");
                if (bsy == 1)
                    throw new Exception("Bir işlem halen devam etmekte bitmesini bekleyiniz.") { Source = "Busy" };
                ///////////////////////////////////////////////////
                int tck = UserProperty.XmlGetValue("Ticket");
                if (tck == -3)
                {
                    throw new Exception("Kullanıcı bilgileri bulunamadı.") { Source = "Ticket1" };
                }
                else
                {
                    if (!UserProperty.EmailVerified)
                        throw new Exception("Eposta adresinizi onaylamanız gerekmektedir") { Source = "EVerified" };

                    if (-1 >= tck - 1)
                    {
                        throw new Exception("Biletiniz bitmiş işlem yapamıyoruz.") { Source = "Ticket2" };
                    }
                    else
                    {
                        UserProperty.XmlUpdate("Ticket", -1, true);
                        UserProperty.XmlUpdate("Busy", 1, false);
                    }
                }
                ////////////////////////////////////////////////////
                imgName = Convert.ToString(HttpContext.Current.Request["imagename"]);
                itype = UserProperty.ImgType.Resources;
                string typ = HttpContext.Current.Request["pixtype"];
                if (typ == null)
                    throw new Exception("Lütfen format seçiniz") { Source = "" };

                PixelFormat = (PixFormat)ImageProperty.StringToEnum(typeof(PixFormat), Convert.ToString(typ));
            }
            catch (Exception e)
            {
                if (e.Source == "Ticket1" ||
                    e.Source == "Ticket2" ||
                    e.Source == "Ticket3" ||
                    e.Source == "Ticket4" ||
                    e.Source == "Busy" ||
                    e.Source == "EVerified")
                { }
                else
                {
                    UserProperty.XmlUpdate("Ticket", 1, true);
                    UserProperty.XmlUpdate("Busy", 0, false);
                }
                resp.Message = e.Message;
                return this.Json<QpiroJSON>(resp);
            }
            try
            {
                string imgPath = "";
                switch (itype)
                {
                    case UserProperty.ImgType.Resources:
                        imgPath = Path.Combine(UserProperty.ResourcePhotos_Path, imgName + ImageProperty.JPG);
                        break;

                    default:
                        throw new Exception("Tanımlanamayan imagename formatı") { Source = "" };
                        break;
                }
                if (File.Exists(imgPath))
                {
                    DateTime start = DateTime.Now;
                    System.GC.Collect();
                    List<PartOfImage> imgsInf = ImageProperty.PartOfImage(imgPath, imgName, (int)PixelFormat);
                    ServerAsyncCallBack servers = new ServerAsyncCallBack();
                    servers.Execute(_QPR.Type.AsyncCallType.ImageGenerate, imgsInf, (int)PixelFormat);
                    imgsInf.Clear();
                    if (UserProperty.ComputerNumber == 1)
                    {
                        do
                        {
                            Thread.Sleep(999);
                        } while (servers._respLocalTest.Status == TaskStatus.WaitingForActivation);

                    }
                    else
                    {
                        do
                        {
                            Thread.Sleep(999);
                        } while (
                        servers._resp1.Status == TaskStatus.WaitingForActivation ||
                        servers._resp2.Status == TaskStatus.WaitingForActivation ||
                        servers._resp3.Status == TaskStatus.WaitingForActivation ||
                        servers._resp4.Status == TaskStatus.WaitingForActivation ||
                        servers._resp5.Status == TaskStatus.WaitingForActivation ||
                        servers._resp6.Status == TaskStatus.WaitingForActivation ||
                        servers._resp7.Status == TaskStatus.WaitingForActivation ||
                        servers._resp8.Status == TaskStatus.WaitingForActivation
                        );
                    }
                    DateTime end = DateTime.Now;
                    string time = TimeSpan.FromTicks(end.Ticks - start.Ticks).ToString();
                    resp.Time = (time.Split(':')[time.Split(':').Length - 2] + ":" + time.Split(':')[time.Split(':').Length - 1]);
                    ///////////////////////////////////////
                    if (UserProperty.ComputerNumber == 1)//local test
                    {
                        byte[] bitmp0 = servers._respLocalTest.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br0 = ImageProperty.stringToRectangle(servers._respLocalTest.Result.Body.ImageGenerateResult.ImagePartInfo);
                        MagickImage img0 = new MagickImage(bitmp0);
                        Bitmap newImg0 = new Bitmap(img0.Width, img0.Height);
                        Graphics grr0 = Graphics.FromImage(newImg0);
                        grr0.DrawImage(img0.ToBitmap(), br0.X, br0.Y);
                        grr0.Dispose();
                        (resp.Data as List<object>).Add(ImageProperty.ImageToBase64(newImg0, System.Drawing.Imaging.ImageFormat.Jpeg));
                    }
                    else
                    {
                        byte[] bitmp1 = servers._resp1.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br1 = ImageProperty.stringToRectangle(servers._resp1.Result.Body.ImageGenerateResult.ImagePartInfo);
                        byte[] bitmp2 = servers._resp2.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br2 = ImageProperty.stringToRectangle(servers._resp2.Result.Body.ImageGenerateResult.ImagePartInfo);
                        byte[] bitmp3 = servers._resp3.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br3 = ImageProperty.stringToRectangle(servers._resp3.Result.Body.ImageGenerateResult.ImagePartInfo);
                        byte[] bitmp4 = servers._resp4.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br4 = ImageProperty.stringToRectangle(servers._resp4.Result.Body.ImageGenerateResult.ImagePartInfo);
                        byte[] bitmp5 = servers._resp5.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br5 = ImageProperty.stringToRectangle(servers._resp5.Result.Body.ImageGenerateResult.ImagePartInfo);
                        byte[] bitmp6 = servers._resp6.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br6 = ImageProperty.stringToRectangle(servers._resp6.Result.Body.ImageGenerateResult.ImagePartInfo);
                        byte[] bitmp7 = servers._resp7.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br7 = ImageProperty.stringToRectangle(servers._resp7.Result.Body.ImageGenerateResult.ImagePartInfo);
                        byte[] bitmp8 = servers._resp8.Result.Body.ImageGenerateResult.newImage;
                        Rectangle br8 = ImageProperty.stringToRectangle(servers._resp8.Result.Body.ImageGenerateResult.ImagePartInfo);

                        servers = null;
                        int newW = 0, newH = 0;
                        if (br1.Width < br1.Height)
                        {
                            newW = br1.Width * UserProperty.ComputerNumber;
                            newH = br1.Height;
                        }
                        else
                        {
                            newW = br1.Width;
                            newH = br1.Height * UserProperty.ComputerNumber;
                        }
                        //MagickImage img0 = new MagickImage(bitmp0);

                        MagickImage img1 = new MagickImage(bitmp1);
                        MagickImage img2 = new MagickImage(bitmp2);
                        MagickImage img3 = new MagickImage(bitmp3);
                        MagickImage img4 = new MagickImage(bitmp4);
                        MagickImage img5 = new MagickImage(bitmp5);
                        MagickImage img6 = new MagickImage(bitmp6);
                        MagickImage img7 = new MagickImage(bitmp7);
                        MagickImage img8 = new MagickImage(bitmp8);

                        Bitmap newImg = new Bitmap(newW, newH);
                        Graphics grr = Graphics.FromImage(newImg);
                        //grr.DrawImage(img0.ToBitmap(), br0.X, br0.Y);
                        grr.DrawImage(img1.ToBitmap(), br1.X, br1.Y);
                        grr.DrawImage(img2.ToBitmap(), br2.X, br2.Y);
                        grr.DrawImage(img3.ToBitmap(), br3.X, br3.Y);
                        grr.DrawImage(img4.ToBitmap(), br4.X, br4.Y);
                        grr.DrawImage(img5.ToBitmap(), br5.X, br5.Y);
                        grr.DrawImage(img6.ToBitmap(), br6.X, br6.Y);
                        grr.DrawImage(img7.ToBitmap(), br7.X, br7.Y);
                        grr.DrawImage(img8.ToBitmap(), br8.X, br8.Y);
                        grr.Dispose();
                        (resp.Data as List<object>).Add(ImageProperty.ImageToBase64(newImg, System.Drawing.Imaging.ImageFormat.Jpeg));
                    }
                    ///////////////////////////////////////
                    UserProperty.XmlUpdate("Busy", 0, false);
                    time = "";
                }
                else
                {
                    throw new Exception("Belirtilen resim bulunamadı") { Source = "" };
                }
            }
            catch (Exception e)
            {
                UserProperty.XmlUpdate("Busy", 0, false);
                UserProperty.XmlUpdate("Ticket", 1, true);
                resp.Message = e.Message;
            }
            return this.Json<QpiroJSON>(resp);
        }
Beispiel #18
0
    public void Test_ToBitmap()
    {
      using (MagickImage image = new MagickImage(MagickColors.Red, 10, 10))
      {
        ExceptionAssert.Throws<NotSupportedException>(delegate ()
        {
          image.ToBitmap(ImageFormat.Exif);
        });

        using (Bitmap bitmap = image.ToBitmap())
        {
          Assert.AreEqual(ImageFormat.MemoryBmp, bitmap.RawFormat);
          ColorAssert.AreEqual(MagickColors.Red, bitmap.GetPixel(0, 0));
          ColorAssert.AreEqual(MagickColors.Red, bitmap.GetPixel(5, 5));
          ColorAssert.AreEqual(MagickColors.Red, bitmap.GetPixel(9, 9));
        }

        Test_ToBitmap(image, ImageFormat.Bmp);
        Test_ToBitmap(image, ImageFormat.Gif);
        Test_ToBitmap(image, ImageFormat.Icon);
        Test_ToBitmap(image, ImageFormat.Jpeg);
        Test_ToBitmap(image, ImageFormat.Png);
        Test_ToBitmap(image, ImageFormat.Tiff);
      }

      using (MagickImage image = new MagickImage(new MagickColor(0, Quantum.Max, Quantum.Max, 0), 10, 10))
      {
        using (Bitmap bitmap = image.ToBitmap())
        {
          Assert.AreEqual(ImageFormat.MemoryBmp, bitmap.RawFormat);
          MagickColor color = MagickColor.FromRgba(0, 255, 255, 0);
          ColorAssert.AreEqual(color, bitmap.GetPixel(0, 0));
          ColorAssert.AreEqual(color, bitmap.GetPixel(5, 5));
          ColorAssert.AreEqual(color, bitmap.GetPixel(9, 9));
        }
      }

      using (MagickImage image = new MagickImage(Files.CMYKJPG))
      {
        using (Bitmap bitmap = image.ToBitmap())
        {
          Assert.AreEqual(ImageFormat.MemoryBmp, bitmap.RawFormat);

          ColorAssert.AreEqual(new MagickColor("#26ffb1"), bitmap.GetPixel(1142, 42));
        }
      }
    }
Beispiel #19
0
        private Bitmap processImgForScanning(Bitmap imgInput)
        {
            using (MemoryStream memstream = new MemoryStream())
            {
                imgInput.Save(memstream, ImageFormat.Tiff);
                MagickImage img = new MagickImage(memstream.ToArray());

                if (sharpen)
                {
                    img.Sharpen((int)sharpenIntX.Value, (int)sharpenIntY.Value, Channels.All);
                }

                if (autoGamma)
                {
                    img.AutoGamma();
                }

                if (enhance)
                {
                    img.Enhance();
                }

                if (contrast)
                {
                    img.Contrast();
                }

                if (autoLevel)
                {
                    img.AutoLevel();
                }

                if (autoOrient)
                {
                    img.AutoOrient();
                }

                if (despeckle)
                {
                    img.Despeckle();
                }

                if (medianFilter)
                {
                    img.MedianFilter((int)medianInt.Value);
                }

                if (unsharpmask)
                {
                    img.Unsharpmask(6.8, 4, 4,0);
                }

                if (wtThreshold)
                {
                    img.LinearStretch((float)0.9, 0.1);
                    //img.WhiteThreshold((int)wtThresInt.Value);
                    //img.ReduceNoise();
                    //img.Grayscale(PixelIntensityMethod.Brightness);
                }

                if (invert)
                {
                    img.Negate();
                }

                return img.ToBitmap();
            }
        }
        public static NewImagePart PointGenerator(string UserName, byte[] ImagePart, int _x, int _y, int width, int height, int PxFormat)
        {
            try
            {
                Rectangle recti = new Rectangle(_x, _y, width, height);
                PixFormat _pixFor = (PixFormat)StringToEnum(typeof(PixFormat), Convert.ToString("_" + PxFormat.ToString() + "x" + PxFormat.ToString()));
                qprPath resources = new qprPath(UserName);
                if (_pixFor == PixFormat._null)
                    throw new Exception("Format null olamaz") { Source = "" };

                //GC.Collect();
                //Bitmap bmp;
                //using (var ms = new MemoryStream(ImagePart))
                //{
                //    bmp = new Bitmap(ms);
                //}

                using (MagickImage imagem = new MagickImage(ImagePart))
                {
                    imagem.Quality = 100;
                    imagem.Blur(5, 5);

                    List<ImgSquare> sp0 = new List<ImgSquare>();
                    if (true)
                    {
                        int[,] pixavg = new int[5, 3];
                        int _pixformat = (int)_pixFor;
                        WritablePixelCollection _totalpix = imagem.GetWritablePixels(0, 0, imagem.Width, imagem.Height);
                        int range = _pixformat / 2;
                        for (int w = 0; w < imagem.Width; w += _pixformat)
                        {
                            for (int h = 0; h < imagem.Height; h += _pixformat)
                            {
                                if (!(w + _pixformat <= imagem.Width && h + _pixformat <= imagem.Height))
                                    continue;//olmazda olursa diye
                                pixavg = new int[5, 3];
                                for (int x = 0; x < range; x++)
                                {
                                    for (int y = 0; y < range; y++)
                                    {
                                        Color a = _totalpix.GetPixel(x + w + 0, h + 0 + y).ToColor().ToColor();
                                        pixavg[0, 0] += a.R;
                                        pixavg[0, 1] += a.G;
                                        pixavg[0, 2] += a.B;

                                        Color b = _totalpix.GetPixel(x + w + range, h + y).ToColor().ToColor();
                                        pixavg[1, 0] += b.R;
                                        pixavg[1, 1] += b.G;
                                        pixavg[1, 2] += b.B;

                                        Color c = _totalpix.GetPixel(x + w, h + range + y).ToColor().ToColor();
                                        pixavg[2, 0] += c.R;
                                        pixavg[2, 1] += c.G;
                                        pixavg[2, 2] += c.B;

                                        Color d = _totalpix.GetPixel(x + w + range, h + range + y).ToColor().ToColor();
                                        pixavg[3, 0] += d.R;
                                        pixavg[3, 1] += d.G;
                                        pixavg[3, 2] += d.B;
                                    }
                                }

                                //tümü için aynı toplanıyor
                                pixavg[4, 0] = pixavg[0, 0] + pixavg[1, 0] + pixavg[2, 0] + pixavg[3, 0];
                                pixavg[4, 1] = pixavg[0, 1] + pixavg[1, 1] + pixavg[2, 1] + pixavg[3, 1];
                                pixavg[4, 2] = pixavg[0, 2] + pixavg[1, 2] + pixavg[2, 2] + pixavg[3, 2];
                                //----

                                int totalminiPix = (range * range);
                                pixavg[0, 0] /= totalminiPix;
                                pixavg[0, 1] /= totalminiPix;
                                pixavg[0, 2] /= totalminiPix;

                                pixavg[1, 0] /= totalminiPix;
                                pixavg[1, 1] /= totalminiPix;
                                pixavg[1, 2] /= totalminiPix;

                                pixavg[2, 0] /= totalminiPix;
                                pixavg[2, 1] /= totalminiPix;
                                pixavg[2, 2] /= totalminiPix;

                                pixavg[3, 0] /= totalminiPix;
                                pixavg[3, 1] /= totalminiPix;
                                pixavg[3, 2] /= totalminiPix;

                                int totalPix = totalminiPix * 4;
                                pixavg[4, 0] /= totalPix;
                                pixavg[4, 1] /= totalPix;
                                pixavg[4, 2] /= totalPix;

                                sp0.Add(new ImgSquare(w, h, new List<QuardPixAvg>()
                            {
                                new QuardPixAvg(Color.FromArgb((pixavg[0, 0]), (pixavg[0, 1]), (pixavg[0, 2])), QuardBolum.SolUst),
                                new QuardPixAvg (Color.FromArgb((pixavg[1, 0]), (pixavg[1, 1]), (pixavg[1, 2])), QuardBolum.SagUst),
                                new QuardPixAvg(Color.FromArgb((pixavg[2, 0]), (pixavg[2, 1]), (pixavg[2, 2])), QuardBolum.SolAlt),
                                new QuardPixAvg(Color.FromArgb((pixavg[3, 0]), (pixavg[3, 1]), (pixavg[3, 2])), QuardBolum.SagAlt),
                                new QuardPixAvg(Color.FromArgb((pixavg[4, 0]), (pixavg[4, 1]), (pixavg[4, 2])), QuardBolum.TotalAvg)
                            }));
                            }
                        }
                        _totalpix = null;
                        pixavg = null;
                        ////////////////////////////// xml generate ///////////////////////////////

                        #region xml oluşturma

                        //XmlDocument doc = new XmlDocument();
                        //XmlElement root = doc.CreateElement("SquarePoints");
                        //root.SetAttribute("Count", sp0.Count.ToString());
                        //root.SetAttribute("PixFormat", _pixFor.ToString());
                        //foreach (ImgSquare item in sp0)
                        //{
                        //    XmlElement child = doc.CreateElement("SquarePoint");
                        //    child.SetAttribute("WxH", item.ToString());
                        //    child.SetAttribute("ColorAVG", item.SAvgArb.ToString());
                        //    List<QuardPixAvg> lstQ = item.QuardAvg;
                        //    child.SetAttribute("SolUst", lstQ[0].QuardAvg.ToString());
                        //    child.SetAttribute("SagUst", lstQ[1].QuardAvg.ToString());
                        //    child.SetAttribute("SolAlt", lstQ[2].QuardAvg.ToString());
                        //    child.SetAttribute("SagAlt", lstQ[3].QuardAvg.ToString());
                        //    root.AppendChild(child);
                        //}
                        //doc.AppendChild(root);
                        //if (!Directory.Exists(finf.Directory.FullName))
                        //    Directory.CreateDirectory(finf.Directory.FullName);
                        //doc.Save(path);
                        //doc = null;

                        #endregion xml oluşturma
                    }
                    else
                    {
                        #region xml okuma

                        //XmlDocument doc = new XmlDocument();
                        //doc.Load(path);
                        //XmlNodeList root1 = doc.GetElementsByTagName("SquarePoints");
                        //XmlNode root2 = root1.Item(0);
                        //foreach (XmlNode item in root2.ChildNodes)
                        //{
                        //    try
                        //    {
                        //        XmlAttribute at1 = item.Attributes[0];
                        //        string[] point = at1.InnerText.Split('x');
                        //        XmlAttribute at2 = item.Attributes[1];
                        //        string ColorAvg = at2.InnerText;
                        //        List<QuardPixAvg> lQuard = new List<QuardPixAvg>();
                        //        int SolUst = int.Parse(item.Attributes[2].InnerText);
                        //        int SagUst = int.Parse(item.Attributes[3].InnerText);
                        //        int SolAlt = int.Parse(item.Attributes[4].InnerText);
                        //        int SagAlt = int.Parse(item.Attributes[5].InnerText);
                        //        int Tumu = int.Parse(item.Attributes[1].InnerText);
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SolUst), QuardBolum.SolUst));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SagUst), QuardBolum.SagUst));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SolAlt), QuardBolum.SolAlt));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SagAlt), QuardBolum.SagAlt));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(Tumu), QuardBolum.Tumu));
                        //        sp0.Add(new ImgSquare(int.Parse(point[0]), int.Parse(point[1]), lQuard));
                        //    }
                        //    catch (Exception e)
                        //    {
                        //        throw e;
                        //    }
                        //}
                        //root2 = null;
                        //root1 = null;
                        //doc = null;

                        #endregion xml okuma
                    }
                    //#---------------------------------
                    int opacity = 50;
                    switch (_pixFor)
                    {
                        case PixFormat._null:
                            sp0.Clear();
                            throw new Exception("Tanımsız format") { Source = "" };
                            break;

                        case PixFormat._12x12:
                            opacity = 50;
                            break;

                        case PixFormat._20x20:
                            opacity = 50;
                            break;

                        case PixFormat._36x36:
                            opacity = 50;
                            break;

                        case PixFormat._48x48:
                            opacity = 50;
                            break;

                        case PixFormat._64x64:
                            opacity = 50;
                            break;

                        case PixFormat._94x94:
                            opacity = 50;
                            break;
                    }
                    string MiniPicturePath = Path.Combine(resources.Data_InstagramPhotos);
                    if (Directory.Exists(MiniPicturePath))
                    {
                        Bitmap btm = imagem.ToBitmap();
                        using (Graphics gr1 = Graphics.FromImage(btm))
                        {
                            ///////////////////////////////////////////////////////////////
                            string[] file = Directory.GetFiles(resources.Current_User, resources.UserXmlInfo);

                            if (file.Count() != 1)
                                throw new Exception("Geçersiz kullanıcı bilgileri");

                            XDocument doc = XDocument.Load(file[0]);
                            XElement root = doc.Elements("_" + resources.UserName).First();
                            XElement InstagramP = root.Elements("InstagramPhotos").FirstOrDefault();
                            XElement[] photos = (from p in InstagramP.Elements() where p.Attribute("useThis").Value.ToLower() == "true" select p).ToArray();
                            ///////////////////////////////////////////////////
                            if (photos.Count() == 0)
                                throw new Exception("Bu Formata Uygun Resimler Bulunamadı") { Source = "" };

                            List<ImgSquare> spl2 = new List<ImgSquare>();
                            for (int i = 0; i < photos.Count(); i++)
                            {
                                if (File.Exists(Path.Combine(MiniPicturePath, Path.GetFileName(photos[i].Value))))
                                {
                                    using (MagickImage mini = new MagickImage(Path.Combine(MiniPicturePath, Path.GetFileName(photos[i].Value))))
                                    {
                                        mini.Quality = 100;
                                        if (mini.Width != 94 && mini.Height != 94)
                                            mini.Resize((int)_pixFor, (int)_pixFor);
                                        spl2.Add(new ImgSquare(mini.ToBitmap()));

                                        mini.Dispose();
                                    }
                                }
                            }
                            photos = null;
                            doc = null;
                            root = null;
                            InstagramP = null;
                            List<ImgSquare> spl4 = new List<ImgSquare>();
                            spl4.AddRange(sp0);
                            spl4.AddRange(spl2);
                            spl2.Clear();
                            spl4 = spl4.OrderBy(p => p.GeneratedColorCode).ToList();
                            int qpiro_number = 432101;
                            int qpiro_number2 = 0;
                            int undefined = 0;
                            for (int i = 0; i < sp0.Count; i++)
                            {
                                ImgSquare item = sp0[i];
                                try
                                {
                                    qpiro_number2 = 0;
                                    List<ImgSquare> snc = null;
                                    int cont = 0;
                                    do
                                    {
                                        snc = spl4.Where(p =>
                                            (p.GeneratedColorCode - (qpiro_number + qpiro_number2) < item.GeneratedColorCode &&
                                            p.GeneratedColorCode + (qpiro_number + qpiro_number2) > item.GeneratedColorCode) &&
                                            p.isArea == false).ToList();
                                        qpiro_number2 += 332101;
                                        cont++;
                                    }
                                    while (snc.Count == 0 && cont < 5);

                                    Rectangle rec = new Rectangle(item.W, item.H, (int)_pixFor, (int)_pixFor);

                                    if (snc.Count != 0)
                                    {
                                        int randi = random.Next(0, snc.Count);
                                        System.Drawing.Image img = SmartRotate(item, snc[randi]);
                                        snc.Clear();//
                                        img = Transparnt(img, opacity);
                                        gr1.DrawImage(img, rec);
                                        sp0.RemoveAt(i);
                                        i--;
                                        img.Dispose();
                                    }
                                    else
                                    {
                                        cont = 0;
                                        qpiro_number2 = (332101 * 5);
                                        do
                                        {
                                            snc = spl4.Where(p =>
                                                (p.GeneratedColorCode - (qpiro_number + qpiro_number2) < item.GeneratedColorCode &&
                                                p.GeneratedColorCode + (qpiro_number + qpiro_number2) > item.GeneratedColorCode) &&
                                                p.isArea == false).ToList();
                                            qpiro_number2 += 332101;
                                            cont++;
                                        }
                                        while (snc.Count == 0 && cont < 11);

                                        if (snc.Count > 0)
                                        {
                                            int randi = random.Next(0, snc.Count);
                                            System.Drawing.Image img = SmartRotate(item, snc[randi]);
                                            snc.Clear();
                                            Bitmap bt0 = new Bitmap(rec.Width, rec.Height);
                                            Graphics g = Graphics.FromImage(bt0);
                                            g.Clear(Color.FromArgb(item.GeneratedColorCode));
                                            if (opacity != 100)
                                            {
                                                img = Transparnt(img, opacity + 20);
                                            }
                                            g.DrawImage(img, new Rectangle(0, 0, rec.Width, rec.Height));
                                            g.Dispose();
                                            gr1.DrawImage(bt0, rec);

                                            sp0.RemoveAt(i);
                                            i--;
                                            img.Dispose();
                                        }
                                        undefined++;
                                    }
                                }
                                catch (Exception ef)
                                {
                                    throw ef;
                                }
                            }
                            sp0.Clear();
                            spl4.Clear();
                            gr1.Dispose();
                            imagem.Dispose();
                            return new NewImagePart() { newImage = new MagickImage(btm).ToByteArray(), ImagePartInfo = recti.ToString() };
                        }
                    }
                    else
                    {
                        throw new Exception("Bu Formata Uygun Resimler Bulunamadı2") { Source = "" };
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return null;
        }
        private void DisplayRezisedImage(string file, Actions caseDirectory)
        {
            //put this in a background worker.
            try
            {
                using (MagickImage image = new MagickImage(Path.Combine(Constants.ContainerLocation, Constants.Directories.GetSpecifiedCaseDirectory(caseDirectory), file)))
                {
                    MagickGeometry size = new MagickGeometry(196, 196);
                    size.IgnoreAspectRatio = false;
                    image.Resize(size);
                    this.InvokeIfRequired(() => FilePreviewImage.Image = image.ToBitmap());
                }

          
            }
            catch(Exception e)
            {
                DisplayFileIconWithFileSize(file, caseDirectory);
            }
        }
 private void UpdateShadowTemplate()
 {
     if (mShadowTemplate != null)
     {
         mShadowTemplate.Dispose();
     }
     Bitmap shadowTemplate = new Bitmap(mThumbWidth + 10, mThumbHeight + 10, PixelFormat.Format32bppArgb);
     shadowTemplate.SetResolution(300,300);
     Graphics graphics = Graphics.FromImage(shadowTemplate);
     SolidBrush brush = new SolidBrush(Color.FromArgb((int)(mOptions.ShadowIntensity * 2.55f), 0, 0, 0));
     graphics.FillRectangle(brush, 5, 5, mThumbWidth, mThumbHeight);
     brush.Dispose();
     MagickImage mahd = new MagickImage(shadowTemplate);
     mahd.Blur();
     mShadowTemplate = mahd.ToBitmap();
     //IFilter filter = new GaussianBlur();
     //mShadowTemplate = filter.Apply(shadowTemplate);
     graphics.Dispose();
     shadowTemplate.Dispose();
 }
        public static List<string> PointGenerator(string inputBitmapPath, PixFormat _pixFor)
        {
            List<string> imglist = new List<string>();
            try
            {
                if (_pixFor == PixFormat._null)
                    throw new Exception("Format null olamaz") { Source = "" };

                using (MagickImage imagem = new MagickImage(inputBitmapPath))
                {
                    //############# ResizeImage #############
                    int yuzde = 100;
                    imagem.Quality = 100;
                    int _w = imagem.Width + (imagem.Width / 100) * yuzde;
                    int _h = imagem.Height + (imagem.Height / 100) * yuzde;
                    int new_W = _w - (_w % (int)_pixFor);
                    int new_H = _h - (_h % (int)_pixFor);
                    imagem.Resize(new_W, new_H);
                    imagem.Blur(5, 5);
                    //############# GenerateSquare #############
                    /////////// calculate image point rgb avg   ////////////
                    string curImgPth = Path.GetFileName(inputBitmapPath);
                    string path = UserProperty.PixelXmlMap_Path + "\\" + curImgPth.Substring(0, curImgPth.Length - 4) + _pixFor.ToString() + "_.xml";
                    FileInfo finf = new FileInfo(path);
                    List<ImgSquare> sp0 = new List<ImgSquare>();
                    if (!File.Exists(path))
                    {
                        int[,] pixavg = new int[5, 3];
                        int _pixformat = (int)_pixFor;
                        WritablePixelCollection _totalpix = imagem.GetWritablePixels(0, 0, imagem.Width, imagem.Height);
                        int range = _pixformat / 2;
                        for (int w = 0; w < imagem.Width; w += _pixformat)
                        {
                            for (int h = 0; h < imagem.Height; h += _pixformat)
                            {
                                if (!(w + _pixformat <= imagem.Width && h + _pixformat <= imagem.Height))
                                    continue;//olmazda olursa diye
                                pixavg = new int[5, 3];
                                for (int x = 0; x < range; x++)
                                {
                                    for (int y = 0; y < range; y++)
                                    {
                                        Color a = _totalpix.GetPixel(x + w + 0, h + 0 + y).ToColor().ToColor();
                                        pixavg[0, 0] += a.R;
                                        pixavg[0, 1] += a.G;
                                        pixavg[0, 2] += a.B;

                                        Color b = _totalpix.GetPixel(x + w + range, h + y).ToColor().ToColor();
                                        pixavg[1, 0] += b.R;
                                        pixavg[1, 1] += b.G;
                                        pixavg[1, 2] += b.B;

                                        Color c = _totalpix.GetPixel(x + w, h + range + y).ToColor().ToColor();
                                        pixavg[2, 0] += c.R;
                                        pixavg[2, 1] += c.G;
                                        pixavg[2, 2] += c.B;

                                        Color d = _totalpix.GetPixel(x + w + range, h + range + y).ToColor().ToColor();
                                        pixavg[3, 0] += d.R;
                                        pixavg[3, 1] += d.G;
                                        pixavg[3, 2] += d.B;
                                    }
                                }

                                //tümü için aynı toplanıyor
                                pixavg[4, 0] = pixavg[0, 0] + pixavg[1, 0] + pixavg[2, 0] + pixavg[3, 0];
                                pixavg[4, 1] = pixavg[0, 1] + pixavg[1, 1] + pixavg[2, 1] + pixavg[3, 1];
                                pixavg[4, 2] = pixavg[0, 2] + pixavg[1, 2] + pixavg[2, 2] + pixavg[3, 2];
                                //----

                                int totalminiPix = (range * range);
                                pixavg[0, 0] /= totalminiPix;
                                pixavg[0, 1] /= totalminiPix;
                                pixavg[0, 2] /= totalminiPix;

                                pixavg[1, 0] /= totalminiPix;
                                pixavg[1, 1] /= totalminiPix;
                                pixavg[1, 2] /= totalminiPix;

                                pixavg[2, 0] /= totalminiPix;
                                pixavg[2, 1] /= totalminiPix;
                                pixavg[2, 2] /= totalminiPix;

                                pixavg[3, 0] /= totalminiPix;
                                pixavg[3, 1] /= totalminiPix;
                                pixavg[3, 2] /= totalminiPix;


                                int totalPix = totalminiPix * 4;
                                pixavg[4, 0] /= totalPix;
                                pixavg[4, 1] /= totalPix;
                                pixavg[4, 2] /= totalPix;

                                sp0.Add(new ImgSquare(w, h, new List<QuardPixAvg>() 
                            {
                                new QuardPixAvg(Color.FromArgb((pixavg[0, 0]), (pixavg[0, 1]), (pixavg[0, 2])), QuardBolum.SolUst),
                                new QuardPixAvg (Color.FromArgb((pixavg[1, 0]), (pixavg[1, 1]), (pixavg[1, 2])), QuardBolum.SagUst),
                                new QuardPixAvg(Color.FromArgb((pixavg[2, 0]), (pixavg[2, 1]), (pixavg[2, 2])), QuardBolum.SolAlt),
                                new QuardPixAvg(Color.FromArgb((pixavg[3, 0]), (pixavg[3, 1]), (pixavg[3, 2])), QuardBolum.SagAlt),
                                new QuardPixAvg(Color.FromArgb((pixavg[4, 0]), (pixavg[4, 1]), (pixavg[4, 2])), QuardBolum.TotalAvg)
                            }));
                            }
                        }
                        _totalpix = null;
                        pixavg = null;
                        ////////////////////////////// xml generate ///////////////////////////////
                        #region xml oluşturma
                        //XmlDocument doc = new XmlDocument();
                        //XmlElement root = doc.CreateElement("SquarePoints");
                        //root.SetAttribute("Count", sp0.Count.ToString());
                        //root.SetAttribute("PixFormat", _pixFor.ToString());
                        //foreach (ImgSquare item in sp0)
                        //{
                        //    XmlElement child = doc.CreateElement("SquarePoint");
                        //    child.SetAttribute("WxH", item.ToString());
                        //    child.SetAttribute("ColorAVG", item.SAvgArb.ToString());
                        //    List<QuardPixAvg> lstQ = item.QuardAvg;
                        //    child.SetAttribute("SolUst", lstQ[0].QuardAvg.ToString());
                        //    child.SetAttribute("SagUst", lstQ[1].QuardAvg.ToString());
                        //    child.SetAttribute("SolAlt", lstQ[2].QuardAvg.ToString());
                        //    child.SetAttribute("SagAlt", lstQ[3].QuardAvg.ToString());
                        //    root.AppendChild(child);
                        //}
                        //doc.AppendChild(root);
                        //if (!Directory.Exists(finf.Directory.FullName))
                        //    Directory.CreateDirectory(finf.Directory.FullName);
                        //doc.Save(path);
                        //doc = null;
                        #endregion
                    }
                    else
                    {
                        #region xml okuma
                        //XmlDocument doc = new XmlDocument();
                        //doc.Load(path);
                        //XmlNodeList root1 = doc.GetElementsByTagName("SquarePoints");
                        //XmlNode root2 = root1.Item(0);
                        //foreach (XmlNode item in root2.ChildNodes)
                        //{
                        //    try
                        //    {
                        //        XmlAttribute at1 = item.Attributes[0];
                        //        string[] point = at1.InnerText.Split('x');
                        //        XmlAttribute at2 = item.Attributes[1];
                        //        string ColorAvg = at2.InnerText;
                        //        List<QuardPixAvg> lQuard = new List<QuardPixAvg>();
                        //        int SolUst = int.Parse(item.Attributes[2].InnerText);
                        //        int SagUst = int.Parse(item.Attributes[3].InnerText);
                        //        int SolAlt = int.Parse(item.Attributes[4].InnerText);
                        //        int SagAlt = int.Parse(item.Attributes[5].InnerText);
                        //        int Tumu = int.Parse(item.Attributes[1].InnerText);
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SolUst), QuardBolum.SolUst));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SagUst), QuardBolum.SagUst));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SolAlt), QuardBolum.SolAlt));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(SagAlt), QuardBolum.SagAlt));
                        //        lQuard.Add(new QuardPixAvg(Color.FromArgb(Tumu), QuardBolum.Tumu));
                        //        sp0.Add(new ImgSquare(int.Parse(point[0]), int.Parse(point[1]), lQuard));
                        //    }
                        //    catch (Exception e)
                        //    {
                        //        throw e;
                        //    }
                        //}
                        //root2 = null;
                        //root1 = null;
                        //doc = null;
                        #endregion
                    }
                    //#---------------------------------
                    int opacity = 50;
                    switch (_pixFor)
                    {
                        case PixFormat._null:
                            sp0.Clear();
                            throw new Exception("Tanımsız format") { Source = "" };
                            break;
                        case PixFormat._12x12: //12:36 sn
                            opacity = 50;
                            break;
                        case PixFormat._20x20: //3:10 sn
                            opacity = 50;
                            break;
                        case PixFormat._36x36: //0:50 sn
                            opacity = 50;
                            break;
                        case PixFormat._48x48: //0:27 sn
                            opacity = 50;
                            break;
                        case PixFormat._64x64: //0:15 sn
                            opacity = 50;
                            break;
                        case PixFormat._94x94: //0:08 sn
                            opacity = 50;
                            break;
                    }
                    //string MiniPicturePath = Path.Combine(UserProperty.Data_Path, PixFormat._94x94.ToString());  //eski yükleme şekli
                    string MiniPicturePath = Path.Combine(UserProperty.Data_InstagramPhotos);
                    if (Directory.Exists(MiniPicturePath))
                    {
                        Bitmap btm = imagem.ToBitmap();
                        using (Graphics gr1 = Graphics.FromImage(btm))
                        {
                            //string[] list = Directory.GetFiles(MiniPicturePath, "*" + JPG);
                            //string[] list = new string[0];
                            ///////////////////////////////////////////////////////////////
                            string[] file = Directory.GetFiles(UserProperty.Current_User, UserProperty.UserXmlInfo);

                            if (file.Count() != 1)
                                throw new Exception("Geçersiz kullanıcı bilgileri");

                            XDocument doc = XDocument.Load(file[0]);
                            XElement root = doc.Elements("_" + ImageProperty.GetUserName()).First();
                            XElement InstagramP = root.Elements("InstagramPhotos").FirstOrDefault();
                            XElement[] photos = (from p in InstagramP.Elements() where p.Attribute("useThis").Value.ToLower() == "true" select p).ToArray();
                            //list = new string[photos.Count()];

                            //for (int i = 0; i < photos.Count(); i++)
                            //    list[i] = Path.Combine(MiniPicturePath, photos[i].Value);

                            ///////////////////////////////////////////////////
                            if (photos.Count() == 0)
                                throw new Exception("Bu Formata Uygun Resimler Bulunamadı") { Source = "" };

                            List<ImgSquare> spl2 = new List<ImgSquare>();
                            for (int i = 0; i < photos.Count(); i++)
                            {
                                if (File.Exists(Path.Combine(MiniPicturePath, Path.GetFileName(photos[i].Value))))
                                {
                                    using (MagickImage mini = new MagickImage(Path.Combine(MiniPicturePath, Path.GetFileName(photos[i].Value))))
                                    {
                                        mini.Quality = 100;
                                        if (mini.Width != 94 && mini.Height != 94)
                                            mini.Resize((int)_pixFor, (int)_pixFor);

                                        //ImgSquare imgsq = new ImgSquare(mini.ToBitmap(), new List<QuardPixAvg>() { 
                                        //    new QuardPixAvg(Color.FromArgb(int.Parse(photos[i].Attribute("SolUst").Value)),QuardBolum.SagAlt),
                                        //    new QuardPixAvg(Color.FromArgb(int.Parse(photos[i].Attribute("SagUst").Value)),QuardBolum.SagAlt),
                                        //    new QuardPixAvg(Color.FromArgb(int.Parse(photos[i].Attribute("SolAlt").Value)),QuardBolum.SagAlt),
                                        //    new QuardPixAvg(Color.FromArgb(int.Parse(photos[i].Attribute("SagAlt").Value)),QuardBolum.SagAlt),
                                        //    new QuardPixAvg(Color.FromArgb(int.Parse(photos[i].Attribute("TotalAvg").Value)),QuardBolum.SagAlt)
                                        //});
                                        spl2.Add(new ImgSquare(mini.ToBitmap()));
                                        mini.Dispose();
                                    }
                                }
                            }
                            photos = null;
                            doc = null;
                            root = null;
                            InstagramP = null;
                            List<ImgSquare> spl4 = new List<ImgSquare>();
                            spl4.AddRange(sp0);
                            spl4.AddRange(spl2);
                            spl2.Clear();
                            spl4 = spl4.OrderBy(p => p.GeneratedColorCode).ToList();
                            int qpiro_number = 432101;
                            int qpiro_number2 = 0;
                            int undefined = 0;
                            for (int i = 0; i < sp0.Count; i++)
                            {
                                ImgSquare item = sp0[i];
                                //if (item.SAvgArb == 0 && item.IAvgRgb == 0)
                                //    continue;
                                try
                                {
                                    qpiro_number2 = 0;
                                    List<ImgSquare> snc = null;
                                    int cont = 0;
                                    do
                                    {
                                        snc = spl4.Where(p =>
                                            (p.GeneratedColorCode - (qpiro_number + qpiro_number2) < item.GeneratedColorCode &&
                                            p.GeneratedColorCode + (qpiro_number + qpiro_number2) > item.GeneratedColorCode) &&
                                            p.isArea == false).ToList();
                                        qpiro_number2 += 332101;
                                        cont++;
                                    }
                                    while (snc.Count == 0 && cont < 5);

                                    Rectangle rec = new Rectangle(item.W, item.H, (int)_pixFor, (int)_pixFor);

                                    if (snc.Count != 0)
                                    {
                                        int randi = random.Next(0, snc.Count);
                                        System.Drawing.Image img = SmartRotate(item, snc[randi]);
                                        snc.Clear();// 
                                        img = Transparnt(img, opacity);
                                        gr1.DrawImage(img, rec);
                                        sp0.RemoveAt(i);
                                        i--;
                                        img.Dispose();
                                    }
                                    else
                                    {
                                        using (MagickImage imgUndefined = new MagickImage(Path.Combine(UserProperty.Data_InstagramPhotos, "black.jpg")))
                                        {
                                            System.Drawing.Image img = Transparnt(imgUndefined.ToBitmap(), opacity);
                                            gr1.DrawImage(img, rec);
                                            sp0.RemoveAt(i);
                                            i--;
                                            imgUndefined.Dispose();
                                        }
                                        //int ss = item.GeneratedColorCode;
                                        //if (ss >= 11075440 && ss <= 15260100)
                                        //{
                                        //    cont = 0;
                                        // qpiro_number2 += 332101;
                                        //    do
                                        //    {
                                        //        snc = spl4.Where(p =>
                                        //            (p.GeneratedColorCode - (qpiro_number + qpiro_number2) < item.GeneratedColorCode &&
                                        //            p.GeneratedColorCode + (qpiro_number + qpiro_number2) > item.GeneratedColorCode) &&
                                        //            p.isArea == false).ToList();
                                        //        qpiro_number2 += 332101;
                                        //        cont++;
                                        //    }
                                        //    while (snc.Count == 0 && cont < 13);

                                        //    if (snc.Count != 0)
                                        //    {
                                        //        Rectangle rec = new Rectangle(item.W, item.H, (int)_pixFor, (int)_pixFor);
                                        //        int randi = random.Next(0, snc.Count);
                                        //        System.Drawing.Image img = SmartRotate(item, snc[randi]);
                                        //        snc.Clear();// 
                                        //        img = Transparnt(img, opacity);
                                        //        gr1.DrawImage(img, rec);
                                        //        sp0.RemoveAt(i);
                                        //        i--;
                                        //    }
                                        //    else
                                        //    {

                                        //    }
                                        //}
                                        undefined++;
                                    }
                                }
                                catch (Exception ef)
                                {
                                    throw ef;
                                }
                            }
                            sp0.Clear();
                            spl4.Clear();
                            gr1.Dispose();
                            //workingBitmap1.Save(Path.Combine(UsrImageProc.SavedPhotos_Path, Path.GetFileName(inputBitmapPath)));
                            //imglist.Add("lokale kaydettim");
                            Bitmap hd = btm.ArithmeticBlend(btm, ColorCalculationType.Add);
                            imglist.Add(ImageToBase64(hd, System.Drawing.Imaging.ImageFormat.Jpeg));
                            imglist.Add(ImageToBase64(btm, System.Drawing.Imaging.ImageFormat.Jpeg));
                            btm.Dispose();
                            hd.Dispose();
                            imagem.Dispose();
                        }
                    }
                    else
                    {
                        throw new Exception("Bu Formata Uygun Resimler Bulunamadı2") { Source = "" };
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return imglist;
        }
Beispiel #24
0
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofdlg = new OpenFileDialog();
            ofdlg.ShowDialog();
            var name = ofdlg.FileName;
            if (name.Length > 0)
            {
                origFile = name;

                Stream imageStreamSource = new FileStream(origFile, FileMode.Open, FileAccess.Read, FileShare.Read);
                using (MemoryStream memstream = new MemoryStream())
                {

                    memstream.SetLength(imageStreamSource.Length);
                    imageStreamSource.Read(memstream.GetBuffer(), 0, (int)imageStreamSource.Length);
                    imageStreamSource.Close();
                    MagickImage img = new MagickImage(memstream.ToArray());
                   // img.Grayscale(PixelIntensityMethod.Average);

                    origImg = img.ToBitmap();

                }

                pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;
                pictureBox1.BackgroundImage = origImg;

            }
            else
            {
                MessageBox.Show("Sorry there was an error getting your ne image\rNow Restore previous image");
                pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;
                pictureBox1.BackgroundImage = origImg;
            }
        }