예제 #1
0
        public byte[] imageToByteArray(System.Drawing.Image imageIn)
        {
            MemoryStream ms = new MemoryStream();

            if (_imgType == ImageFileType.Gif)
            {
                imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            }
            else if (_imgType == ImageFileType.Jpg)
            {
                imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            }
            else if (_imgType == ImageFileType.Png)
            {
                imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            }
            else if (_imgType == ImageFileType.Wmf)
            {
                WMETA8 wmfconv = new WMETA8();
                return(wmfconv.getWMETA8Data(imageIn));
            }
            return(ms.ToArray());
            //ImageConverter converter = new ImageConverter();
            //return (byte[])converter.ConvertTo(imageIn, typeof(byte[]));
        }
예제 #2
0
        private Image DownloadImageFromUrl(string imageUrl)
        {
            System.Drawing.Image image = null;

            try
            {
                System.Net.HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(imageUrl);
                webRequest.AllowWriteStreamBuffering = true;
                webRequest.Timeout = 30000;

                System.Net.WebResponse webResponse = webRequest.GetResponse();

                System.IO.Stream stream = webResponse.GetResponseStream();

                image = System.Drawing.Image.FromStream(stream);

                webResponse.Close();
            }
            catch (Exception ex)
            {
                return(null);
            }

            return(image);
        }
        public bool getImage(byte[] pFotoByte, System.Windows.Controls.Image pImageControl)
        {
            try
            {
                byte[] buffer = (byte[])pFotoByte;

                MemoryStream stream = new MemoryStream();
                stream.Write(buffer, 0, buffer.Length);
                stream.Position = 0;

                System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
                BitmapImage          bi  = new BitmapImage();
                bi.BeginInit();

                MemoryStream ms = new MemoryStream();
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
                ms.Seek(0, SeekOrigin.Begin);
                bi.StreamSource = ms;
                bi.EndInit();
                pImageControl.Source = bi;

                return(true);
            }
            catch { return(false); }
        }
        /// <summary>
        /// 打印图
        /// </summary>
        /// <param name="callNumber"></param>
        /// <returns></returns>
        public BitmapImage GetPrintBitmapImage(string callNumber)
        {
            BitmapImage images     = null;
            var         fontFamily = new System.Drawing.FontFamily("宋体");
            var         fontStyle  = System.Drawing.FontStyle.Bold;
            Font        font       = new Font(fontFamily, 120, fontStyle);

            using (System.Drawing.Image imgs = Image.FromFile("02.png"))
            {
                using (Graphics g = Graphics.FromImage(imgs))
                {
                    int    index = callNumber.IndexOf("/");
                    string str   = callNumber.Substring(0, index + 1);
                    string str1  = "";
                    if (callNumber.Length > index + 1)
                    {
                        str1 = callNumber.Substring(index + 1, callNumber.Length - index - 1);
                    }
                    SizeF sizeF = g.MeasureString(str, font);
                    ; g.DrawString(str, font, System.Drawing.Brushes.Black, new PointF(imgs.Width / 2 - sizeF.Width / 2, imgs.Height / 4));
                    if (!string.IsNullOrEmpty(str1))
                    {
                        sizeF = g.MeasureString(str1, font);
                        g.DrawString(str1, font, System.Drawing.Brushes.Black, new PointF(imgs.Width / 2 - sizeF.Width / 2, imgs.Height / 2 + imgs.Height / 7));
                    }
                    imgs.Save("print.png");
                    images = ImageToBitmapImage(imgs);
                }
            }
            return(images);
        }
예제 #5
0
        /// <summary>
        /// Getting the frames out of a GIF image.
        /// </summary>
        /// <param name="originalImg"></param>
        /// <returns></returns>
        public static BitmapImage[] GetFrames(Image originalImg)
        {
            int numberOfFrames = originalImg.GetFrameCount(FrameDimension.Time);

            Image[] frames = new System.Drawing.Image[numberOfFrames];

            BitmapImage[] bitmapFrames = new BitmapImage[numberOfFrames];

            for (int i = 0; i < numberOfFrames; i++)
            {
                originalImg.SelectActiveFrame(FrameDimension.Time, i);
                frames[i] = ((System.Drawing.Image)originalImg.Clone());
                using (var ms = new MemoryStream())
                {
                    frames[i].Save(ms, ImageFormat.Png);
                    ms.Seek(0, SeekOrigin.Begin);

                    var bitmapImage = new BitmapImage();
                    bitmapImage.BeginInit();
                    bitmapImage.CacheOption  = BitmapCacheOption.OnLoad;
                    bitmapImage.StreamSource = ms;
                    bitmapImage.EndInit();

                    bitmapFrames[i] = bitmapImage;
                }
            }

            return(bitmapFrames);
        }
예제 #6
0
        private byte[] imageToByteArray(System.Drawing.Image imageIn)
        {
            MemoryStream ms = new MemoryStream();

            imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            return(ms.ToArray());
        }
예제 #7
0
        //Utilities
        public void ShowGreetings()
        {
            GreetingLabel.Show();
            GreetingLabel.ForeColor = Color.White;
            GreetingLabel.Text      = string.Format(Constants.GreetingsMessage,
                                                    AuthenticationManager.GetCurrentUser().Username);

            //Show Image
            User currentUser = AuthenticationManager.GetCurrentUser();

            byte[] imageBytes = imageService.GetProfilePicture(currentUser.Username);
            if (imageBytes != null)
            {
                System.Drawing.Image image = imageService.byteArrayToImage(imageBytes);
                profilePicPictureBox.Image = imageService.ScaleImage(image, 55, 54);
                profilePicPictureBox.Size  = new Size(profilePicPictureBox.Image.Width,
                                                      profilePicPictureBox.Image.Height);
            }
            else
            {
                Image        image        = Image.FromFile(@"../../Utilities/Images/default.jpg");
                byte[]       imageToBytes = imageService.imageToByteArray(image);
                Models.Image newImage     = new Models.Image()
                {
                    Content = imageToBytes
                };
                currentUser.ProfilePicture = newImage;
                profilePicPictureBox.Image = imageService.ScaleImage(image, 55, 54);
            }
            profilePicPictureBox.Location = new Point(590, profilePicPictureBox.Location.Y);
            profilePicPictureBox.Show();
            LogoutButton.Show();
        }
예제 #8
0
        private void ConvertedImage_MouseMove(object sender, MouseEventArgs e)
        {
            PictureBox box = sender as PictureBox;
            Point      point = e.Location;
            int        width, height;

            if (box == null)
            {
                return;
            }

            //width = point.X - MouseDownedPoint.X;
            //height = point.Y - MouseDownedPoint.Y;
            if (e.Button == MouseButtons.Left && (IsCrop == true || IsInsert == true) && IsMouseUp == false)
            {
                //point.X = Convert.ToInt32(point.X * FactorWidth);
                //point.Y = Convert.ToInt32(point.Y * FactorHeight);
                width  = Convert.ToInt32(point.X * FactorWidth) - MouseDownedPoint.X;
                height = Convert.ToInt32(point.Y * FactorHeight) - MouseDownedPoint.Y;//这里可能需要判断一下这个width和height是否是大于0的,因为可能有多种画图方式
                System.Drawing.Image image = bitmap;
                ConvertedImage.Image = imageManager.DrawOutCropArea(image, MouseDownedPoint.X, MouseDownedPoint.Y, width, height);
                // Bitmap bitmap = box.Image.Clone() as Bitmap;
                //  box.DoDragDrop(bitmap, DragDropEffects.Copy | DragDropEffects.Link);
            }
            else if (e.Button == MouseButtons.Left && IsCrop == false && IsInsert == false && IsMouseUp == false)
            {
                width  = point.X - MouseMoveDownPoint.X;
                height = point.Y - MouseMoveDownPoint.Y;
                ConvertedImage.Location = new Point(ConvertedImage.Location.X + width, ConvertedImage.Location.Y + height);
            }
        }
        private void SelectImageButton_OnClick(object sender, RoutedEventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();

            open.Multiselect = false;
            open.Filter      = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp; *.png)|*.jpg; *.jpeg; *.gif; *.bmp; *.png";
            if (open.ShowDialog() == true)
            {
                _newImagePath = open.FileName;

                try
                {
                    System.Drawing.Image img = System.Drawing.Image.FromFile(_newImagePath);
                    ImageDisplayed.Source = null;
                    DeleteOldPictures();
                    CopyNewPicture();
                    SetNewestImagePath();
                }
                catch (Exception err)
                {
                    _runningApplication.UI.MainView.CreateAlertWindow("Error with image", $"There was a problem with the image file: " +
                                                                      $"{Environment.NewLine}{_newImagePath}");
                }
            }
        }
예제 #10
0
 //chuyển đổi ảnh sang kiểu byte
 public byte[] ImageToByteArray(System.Drawing.Image imageIn)
 {
     using (var ms = new MemoryStream())
     {
         imageIn.Save(ms, ImageFormat.Png);
         return(ms.ToArray());
     }
 }
예제 #11
0
 public async Task Text(string e)
 {
     System.Drawing.Image img = DrawText(e, new Font("Diavlo Light", 30.0f), System.Drawing.Color.FromArgb(0, 0, 0), System.Drawing.Color.FromArgb(255, 255, 255));
     using MemoryStream outStream = new MemoryStream();
     img.Save(outStream, System.Drawing.Imaging.ImageFormat.Png);
     outStream.Position = 0;
     await Context.Channel.SendFileAsync(outStream, "silverbotimage.png", "there");
 }
예제 #12
0
 public static System.Drawing.Image SaveImage(System.Windows.Controls.Viewbox control, string path)
 {
     using (MemoryStream stream = new MemoryStream())
     {
         GenerateImage(control, stream);
         System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
         return(img);
     }
 }
예제 #13
0
 /// <summary>
 /// Converts a Base64 encoded string to an Image
 /// </summary>
 /// <param name="base64String">Base64 encoded Image string</param>
 /// <returns>Decoded Image</returns>
 public static Image Base64ToImage(string base64String)
 {
     // Convert Base64 String to byte[]
     byte[] imageBytes = Convert.FromBase64String(base64String.Trim());
     var ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
     // Convert byte[] to Image
     ms.Write(imageBytes, 0, imageBytes.Length);
     System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
     return image;
 }
예제 #14
0
        public byte[] GetCaptureForInstagramControl(byte[] imageForInstagram, string publishAuthorName, DateTime timeUpdate, byte[] profilePictureData)
        {
            byte[] captureImageData;
            var    defaultTemplate = new InstagramDefaultCtrl();

            defaultTemplate.FillData(imageForInstagram, publishAuthorName, timeUpdate, profilePictureData);
            defaultTemplate.Measure(new System.Windows.Size((int)defaultTemplate.Width, (int)defaultTemplate.Height));
            defaultTemplate.Arrange(new Rect(new System.Windows.Size((int)defaultTemplate.Width, (int)defaultTemplate.Height)));

            int  dpiX   = 96;
            int  dpiY   = 96;
            Rect bounds = VisualTreeHelper.GetDescendantBounds(defaultTemplate);
            RenderTargetBitmap renderTarget = new RenderTargetBitmap((int)(bounds.Width * dpiX / 96.0),
                                                                     (int)(bounds.Height * dpiY / 96.0), dpiX, dpiY, PixelFormats.Pbgra32);

            DrawingVisual dv = new DrawingVisual();

            using (DrawingContext ctx = dv.RenderOpen())
            {
                VisualBrush vb = new VisualBrush(defaultTemplate);
                ctx.DrawRectangle(vb, null, new Rect(new System.Windows.Point(), bounds.Size));
            }

            renderTarget.Render(dv);

            JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder();

            jpgEncoder.QualityLevel = 100;
            jpgEncoder.Frames.Add(BitmapFrame.Create(renderTarget));
            using (MemoryStream outputStream = new MemoryStream())
            {
                jpgEncoder.Save(outputStream);
                captureImageData = outputStream.ToArray();
            }
            using (Bitmap rectangleResultImage = new Bitmap((int)bounds.Width, (int)bounds.Height))
            {
                using (Graphics canvas = Graphics.FromImage(rectangleResultImage))
                {
                    canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;

                    using (var imageStream = new MemoryStream(captureImageData))
                    {
                        System.Drawing.Image squereResultImage = System.Drawing.Image.FromStream(imageStream);
                        canvas.DrawImage(squereResultImage,
                                         new Rectangle(0, 0, squereResultImage.Width, squereResultImage.Height),
                                         new Rectangle(0, 0, squereResultImage.Width, squereResultImage.Height), GraphicsUnit.Pixel);
                    }

                    return(rectangleResultImage.ToBytes());
                }
            }
        }
        public static BitmapImage ToWpfImage(System.Drawing.Image img)
        {
            MemoryStream ms = new MemoryStream();  // no using here! BitmapImage will dispose the stream after loading

            img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);

            BitmapImage ix = new BitmapImage();

            ix.BeginInit();
            ix.CacheOption  = BitmapCacheOption.OnLoad;
            ix.StreamSource = ms;
            //ix.EndInit();
            return(ix);
        }
예제 #16
0
    private void LoadTexture()
    {
        string path = Application.streamingAssetsPath + "/test.jpg";

        System.Drawing.Image bitmap = Image.FromFile(path);

        byte[]       tempBytes;
        MemoryStream ms = new MemoryStream();



        ImageCodecInfo    dc = GetEncoderInfo("image/bmp");
        EncoderParameter  myEncoderParameter;
        EncoderParameters myEncoderParameters;
        Encoder           myEncoder;

        myEncoder = Encoder.Quality;
        // EncoderParameter object in the array.
        myEncoderParameters          = new EncoderParameters(1);
        myEncoderParameter           = new EncoderParameter(myEncoder, 100L);
        myEncoderParameters.Param[0] = myEncoderParameter;
        bitmap.Save(ms, dc, myEncoderParameters);


        // bitmap.Save(ms,ImageFormat.Jpeg);


        tempBytes = ms.GetBuffer();//786486
        Debug.Log(tempBytes.Length);

        Texture2D tex = new Texture2D(2, 2, TextureFormat.RGB24, false);

        //tex.LoadImage(tempBytes);
        tex.LoadRawTextureData(tempBytes);

        tex.Apply();



        //byte[] bytes = File.ReadAllBytes(path);//39830

        //Texture2D tex = new Texture2D(512, 512, TextureFormat.RGB24, false);
        //tex.LoadImage(bytes);
        //tex.Apply();
        //Debug.Log(tex.format);
        //byte[] temps = tex.GetRawTextureData();//786,432


        DstRawImage.texture = tex;
    }
예제 #17
0
        System.Drawing.Image DownloadImage(string _URL)
        {
            System.Drawing.Image _tmpImage = null;


            // Open a connection
            if (_URL != "")
            {
                try
                {
                    HttpWebRequest _HttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(_URL);

                    _HttpWebRequest.AllowWriteStreamBuffering = true;

                    // You can also specify additional header values like the user agent or the referer: (Optional)
                    _HttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
                    _HttpWebRequest.Referer   = "http://www.google.com/";

                    // set timeout for 20 seconds (Optional)
                    _HttpWebRequest.Timeout = 20000;

                    // Request response:
                    WebResponse _WebResponse = _HttpWebRequest.GetResponse();

                    // Open data stream:
                    Stream _WebStream = _WebResponse.GetResponseStream();

                    // convert webstream to image
                    _tmpImage = Image.FromStream(_WebStream);

                    // Cleanup
                    _WebResponse.Close();
                    _WebResponse.Close();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    return(null);
                }
            }



            // Error


            return(_tmpImage);
        }
예제 #18
0
        internal RtfImage(System.Drawing.Image imageIn, ImageFileType type)
        {
            _imgType = type;
            _image   = imageIn;
            _imgBin  = imageToByteArray(imageIn);

            _alignment       = Align.None;
            _margins         = new Margins();
            _keepAspectRatio = true;
            _blockHead       = @"{\pard";
            _blockTail       = @"\par}";
            _startNewPage    = false;

            _width  = (imageIn.Width / imageIn.HorizontalResolution) * 72;
            _height = (imageIn.Height / imageIn.VerticalResolution) * 72;
        }
예제 #19
0
        public static System.Drawing.Image ResizeImage(System.Drawing.Image imgToResize, Size size, bool p_Scale = false)
        {
            int sourceWidth  = imgToResize.Width;
            int sourceHeight = imgToResize.Height;

            float nPercent = 0;
            float nPercentW = 0;
            float nPercentH = 0;
            int   destWidth, destHeight;

            if (!p_Scale)
            {
                nPercentW = ((float)size.Width / (float)sourceWidth);
                nPercentH = ((float)size.Height / (float)sourceHeight);

                if (nPercentH < nPercentW)
                {
                    nPercent = nPercentH;
                }
                else
                {
                    nPercent = nPercentW;
                }

                destWidth  = (int)(sourceWidth * nPercent);
                destHeight = (int)(sourceHeight * nPercent);
            }
            else
            {
                nPercentW = ((float)size.Width / (float)sourceWidth);
                nPercentH = ((float)size.Height / (float)sourceHeight);

                destWidth  = (int)(sourceWidth * nPercentW);
                destHeight = (int)(sourceHeight * nPercentH);
            }
            Bitmap b = new Bitmap(destWidth, destHeight);

            Graphics g = System.Drawing.Graphics.FromImage((Image)b);

            g.SmoothingMode     = SmoothingMode.HighQuality;
            g.InterpolationMode = InterpolationMode.High;

            g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
            g.Dispose();

            return((System.Drawing.Image)b);
        }
예제 #20
0
        public static BitmapSource GetImageStream(System.Drawing.Image myImage)
        {
            var          bitmap       = new Bitmap(myImage);
            IntPtr       bmpPt        = bitmap.GetHbitmap();
            BitmapSource bitmapSource =
                System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                    bmpPt,
                    IntPtr.Zero,
                    Int32Rect.Empty,
                    BitmapSizeOptions.FromEmptyOptions());

            //freeze bitmapSource and clear memory to avoid memory leaks
            bitmapSource.Freeze();
            DeleteObject(bmpPt);

            return(bitmapSource);
        }
예제 #21
0
 private void button1_Click_1(object sender, EventArgs e)
 {
     contadorTablas--;
     if (contadorTablas > -1)
     {
         string imagen = listaTablas.ElementAt(contadorTablas);
         if (System.IO.File.Exists(imagen))
         {
             // listaTablas.Add(imagen);
             System.Drawing.Image image = System.Drawing.Image.FromFile(imagen);
             pictureBox2.Image = image;
         }
     }
     else
     {
         contadorTablas = 0;
     }
 }
예제 #22
0
        public ImageBrush FillImage(byte[] _avatarBytes)
        {
            MemoryStream mstream = new MemoryStream(_avatarBytes, 0, _avatarBytes.Length);

            mstream.Write(_avatarBytes, 0, _avatarBytes.Length);
            System.Drawing.Image Avatar = Image.FromStream(mstream, true);

            var bitmap       = new System.Drawing.Bitmap(Avatar);
            var bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(),
                                                                     IntPtr.Zero,
                                                                     Int32Rect.Empty,
                                                                     BitmapSizeOptions.FromEmptyOptions()
                                                                     );

            bitmap.Dispose();

            return(new ImageBrush(bitmapSource));
        }
예제 #23
0
 private void button1_Click(object sender, EventArgs e)
 {
     contador--;
     if (contador > -1)
     {
         string imagen = listaAutomatas.ElementAt(contador);
         if (System.IO.File.Exists(imagen))
         {
             //listaAutomatas.Add(imagen);
             System.Drawing.Image image = System.Drawing.Image.FromFile(imagen);
             pictureBox1.Image = image;
         }
     }
     else
     {
         contador = 0;
     }
 }
예제 #24
0
 public MainViewModel(MainControl mainControl)
 {
     this.mainControl = mainControl;
     Task.Run(() => {
         UserName  = ServerSetting.UserName;
         LoginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
     });
     try
     {
         HttpWebRequest       request  = (HttpWebRequest)WebRequest.Create(ServerSetting.PICPath + ServerSetting.HeaderAddress);
         WebResponse          response = request.GetResponse();
         System.Drawing.Image img      = System.Drawing.Image.FromStream(response.GetResponseStream());
         LoginPIC = ImageToBitmapImage(img);
     }
     catch
     {
         LoginPIC = new BitmapImage(new Uri("默认头像.png", UriKind.RelativeOrAbsolute));
     }
     finally
     {
         RFIDPIC     = new BitmapImage(new Uri("../images/RFID绑定点击样式.png", UriKind.RelativeOrAbsolute));
         RFIDBK      = new BitmapImage(new Uri("BKDJ.png", UriKind.RelativeOrAbsolute));
         BookmarkPIC = new BitmapImage(new Uri("../images/书标1.png", UriKind.RelativeOrAbsolute));
         BookmarkBK  = new BitmapImage(new Uri("BKWDJ.png", UriKind.RelativeOrAbsolute));
         BarCodePIC  = new BitmapImage(new Uri("../images/条码1.png", UriKind.RelativeOrAbsolute));
         BarCodeBK   = new BitmapImage(new Uri("BKWDJ.png", UriKind.RelativeOrAbsolute));
         QueryPIC    = new BitmapImage(new Uri("../images/查询1.png", UriKind.RelativeOrAbsolute));
         QueryBK     = new BitmapImage(new Uri("BKWDJ.png", UriKind.RelativeOrAbsolute));
         SetPIC      = new BitmapImage(new Uri("../images/Bing1.png", UriKind.RelativeOrAbsolute));
         SetBK       = new BitmapImage(new Uri("BKWDJ.png", UriKind.RelativeOrAbsolute));
         QuitPIC     = new BitmapImage(new Uri("../images/过刊合订1.png", UriKind.RelativeOrAbsolute));
         QuitBK      = new BitmapImage(new Uri("BKWDJ1.png", UriKind.RelativeOrAbsolute));
     }
     ShowPIC = "../images/三角形1.png";
     Show    = Visibility.Hidden;
     ///个人中心
     User      = ServerSetting.userInfo.User;
     PassWord  = ServerSetting.PassWord;
     Email     = ServerSetting.userInfo.Email;
     IDCard    = ServerSetting.userInfo.IDCard;
     Phone     = ServerSetting.userInfo.Phone;
     RoleLevel = ServerSetting.userInfo.RoleLevel;
 }
예제 #25
0
        protected void btnCrop_Click11(object sender, EventArgs e)
        {
            string confilename, confilepath;
            string fileName = Path.GetFileName(imgUpload.ImageUrl);
            string filePath = Path.Combine(Server.MapPath("~/img"), fileName);

            if (File.Exists(filePath))
            {
                System.Drawing.Image orgImg   = System.Drawing.Image.FromFile(filePath);
                Rectangle            CropArea = new Rectangle(

                    Convert.ToInt32(X.Value),
                    Convert.ToInt32(Y.Value),
                    Convert.ToInt32(W.Value),
                    Convert.ToInt32(H.Value));

                try
                {
                    Bitmap bitMap = new Bitmap(CropArea.Width, CropArea.Height);
                    using (Graphics g = Graphics.FromImage(bitMap))
                    {
                        g.DrawImage(orgImg, new Rectangle(0, 0, bitMap.Width, bitMap.Height), CropArea, GraphicsUnit.Pixel);
                    }
                    int    v = CropArea.Width;
                    string r = v.ToString();
                    test.Text = r;

                    int    s = CropArea.Height;
                    string h = s.ToString();
                    haute.Text  = h;
                    confilename = "Crop_" + fileName;
                    confilepath = Path.Combine(Server.MapPath("~/cropimg"), confilename);
                    bitMap.Save(confilepath);
                    cropimg.Visible = true;
                    cropimg.Src     = "~/cropimg/" + confilename;
                    panCrop.Visible = false;
                }
                catch
                {
                    throw;
                }
            }
        }
예제 #26
0
    /// <summary>
    /// 旋转图片到正确位置
    /// </summary>
    /// <param name="image"></param>
    public static void OrientationImage(System.Drawing.Image image)
    {
        if (Array.IndexOf(image.PropertyIdList, 274) > -1)
        {
            var orientation = (int)image.GetPropertyItem(274).Value[0];
            switch (orientation)
            {
            case 1:
                // No rotation required.
                break;

            case 2:
                image.RotateFlip(RotateFlipType.RotateNoneFlipX);
                break;

            case 3:
                image.RotateFlip(RotateFlipType.Rotate180FlipNone);
                break;

            case 4:
                image.RotateFlip(RotateFlipType.Rotate180FlipX);
                break;

            case 5:
                image.RotateFlip(RotateFlipType.Rotate90FlipX);
                break;

            case 6:
                image.RotateFlip(RotateFlipType.Rotate90FlipNone);
                break;

            case 7:
                image.RotateFlip(RotateFlipType.Rotate270FlipX);
                break;

            case 8:
                image.RotateFlip(RotateFlipType.Rotate270FlipNone);
                break;
            }
            image.RemovePropertyItem(274);
        }
    }
예제 #27
0
        private void ConvertedImage_DragDrop(object sender, DragEventArgs e)
        {
            string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();

            if (path == null)
            {
                return;
            }
            try
            {
                System.Drawing.Image image = System.Drawing.Image.FromFile(path);
                Bitmap bitmap = new Bitmap(image, ConvertedImage.Width, ConvertedImage.Height);
                imageManager.oldBitmap = bitmap;
                ConvertedImage.Image   = bitmap;
            }
            catch (Exception E)
            {
                Console.WriteLine(E.Message);
            }
        }
예제 #28
0
        public BitmapImage ImageToBitmapImage(System.Drawing.Image PIC)
        {
            byte[] data = null;
            using (MemoryStream ms = new MemoryStream())
            {
                using (Bitmap Bitmap = new Bitmap(PIC))
                {
                    Bitmap.Save(ms, PIC.RawFormat);
                    ms.Position = 0;
                    data        = new byte[ms.Length];
                    ms.Read(data, 0, Convert.ToInt32(ms.Length));
                    ms.Flush();
                }
            }
            BitmapImage bitmap = new BitmapImage();

            bitmap.BeginInit();
            bitmap.StreamSource = new MemoryStream(data);
            bitmap.EndInit();
            return(bitmap);
        }
예제 #29
0
        public static ImageSource ToImageSource(System.Drawing.Image image, ImageFormat imageFormat)
        {
            BitmapImage bitmap = new BitmapImage();

            using (MemoryStream stream = new MemoryStream())
            {
                // Save to the stream
                image.Save(stream, imageFormat);

                // Rewind the stream
                stream.Seek(0, SeekOrigin.Begin);

                // Tell the WPF BitmapImage to use this stream
                bitmap.BeginInit();
                bitmap.StreamSource = stream;
                bitmap.CacheOption  = BitmapCacheOption.OnLoad;
                bitmap.EndInit();
            }

            return(bitmap);
        }
예제 #30
0
        private void button4_Click(object sender, EventArgs e)
        {
            float x = 0.0F;
            float w = 0.0F;
            float a = 0.0F;
            float y = 0.0F;

            x = float.Parse(textBox1.Text);

            y = float.Parse(textBox2.Text);

            a = float.Parse(textBox3.Text);

            w = float.Parse(textBox4.Text);

            RectangleF A = new RectangleF(x, y, w, a);

            System.Drawing.Image newImage = pictureBox1.Image;
            // ATTENZIONE: MANCA RIFERIMENTO A SYSTEM.DRAWING IN CLASSLIBRARY2
            //newImage = ClassLibrary2.Class1.Taglia(x, y, a, w, newImage);
            pictureBox1.Image = newImage;
        }