Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Cách Crop hình từ một hình có sẵn theo tỉ lệ cho trước?

  1. #1
    Ngày gia nhập
    03 2010
    Bài viết
    6

    Mặc định Cách Crop hình từ một hình có sẵn theo tỉ lệ cho trước?

    Em muốn cắt hình từ một hình vừa upload lên, lưu xuống 2 file: 1 file ảnh gốc và 1 file ảnh đã crop. Em làm như cách sau mà vẫn chưa cắt hình theo đúng tỉ lệ. Xin mọi người giúp đỡ ạ.

    Code:
            protected void Page_Load(object sender, EventArgs e)
            {
                Messages.Text = "";
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                if (FileUpload1.FileName != "")
                {
                    FileUpload1.SaveAs(Server.MapPath("~/IMAGES/" + FileUpload1.FileName));
                    Crop(192, 290,"_crop"); //192,290: tỉ lệ hình cho trước
                    Messages.Text = "Upload thành công!!!";
                }
                else
                {
                    Messages.Text = "Hãy chọn ảnh cần upload!!!";
                }
    
           }
    
            public void Crop(int width, int height, string ImgName)
            {
                System.Drawing.Image oImg = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
    
                double ratio = (1.0 * width)/(1.0 * height);
                double newW, newH,x,y;
                newW = oImg.Width*ratio;
                newH = oImg.Height;
                y= 0;
                x = (oImg.Width-newW)/2;
    
                Rectangle part = new Rectangle(0, 0, (int)newW, (int)newH);
    
                Bitmap bmp = new Bitmap(part.Width, part.Height);
                Graphics g = Graphics.FromImage(bmp);
                g.DrawImage(oImg, (int)x, (int)y, part, GraphicsUnit.Pixel);
                g.Dispose();
                bmp.Save(Server.MapPath("~/IMAGES/" + FileUpload1.FileName + ImgName + ".jpg"), ImageFormat.Jpeg);
                oImg.Dispose();
                bmp.Dispose();
            }
    Đã được chỉnh sửa lần cuối bởi phanduy246 : 14-09-2011 lúc 10:28 AM.

  2. #2
    Ngày gia nhập
    03 2010
    Bài viết
    6

    đã làm được. Hi hi!
    Code:
    protected void Page_Load(object sender, EventArgs e)
            {
                Messages.Text = "";
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                if (FileUpload1.FileName != "")
                {
                    FileUpload1.SaveAs(Server.MapPath("~/IMAGES/" + FileUpload1.FileName));
                    Crop(192, 290,"_crop");
                    Messages.Text = "Upload thành công!!!";
                }
                else
                {
                    Messages.Text = "Hãy chọn ảnh cần upload!!!";
                }
    
           }
    
        
            public void Crop(int width, int height, string ImgName)
            {
                System.Drawing.Image oImg = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
    
                double ratio = (1.0 * width)/(1.0 * height);
                double newW, newH,x,y;
                newW = oImg.Width*ratio;
                newH = oImg.Height;
                y= 0;
                x = (oImg.Width-newW)/2;
    
                Rectangle part = new Rectangle((int)x, (int)y, (int)newW, (int)newH);
                Bitmap bmp = new Bitmap(part.Width, part.Height);
                bmp.SetResolution(oImg.VerticalResolution, oImg.HorizontalResolution);
                Graphics g = Graphics.FromImage(bmp);
                g.DrawImage(oImg, 0, 0, part, GraphicsUnit.Pixel);
                g.Dispose();
                bmp.Save(Server.MapPath("~/IMAGES/" + FileUpload1.FileName + ImgName + ".jpg"), ImageFormat.Jpeg);
                oImg.Dispose();
                bmp.Dispose();
            }

Các đề tài tương tự

  1. Cần một tài liệu tổng hợp các class xây dựng sẵn trong c# kèm theo hướng dẫn sử dụng
    Gửi bởi phucloveit trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 6
    Bài viết cuối: 06-07-2013, 05:17 PM
  2. Algorithm Lỗi không mở được openFileDialog theo đường dẫn có sẵn?
    Gửi bởi itc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 15-12-2012, 07:51 PM
  3. Cách tạo và in báo cáo (hóa đơn) theo mẫu có sẵn????
    Gửi bởi billy291 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 22-02-2012, 09:44 PM
  4. Đọc, ghi file theo định dạng cho sẵn.
    Gửi bởi Chicken2 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 24-04-2011, 03:03 PM
  5. In ra màn hình các dấu * theo hình dạng cho sẵn
    Gửi bởi duc30121989 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 03-03-2008, 09:28 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn