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

Đề tài: Cách nghiêng ảnh 1 góc 45 độ như thế nào ?

  1. #1
    Ngày gia nhập
    05 2011
    Bài viết
    2

    Mặc định Cách nghiêng ảnh 1 góc 45 độ như thế nào ?

    Các pro ơi...e đang làm 1 bài tập thế này ah.Load 1 bức ảnh va làm méo 1 góc 45 độ ah.E làm thế này mà nó không chạy.Các pro chỉ giúp e xem sai ở đâu ạ
    Visual C# Code:
    1.             Bitmap bmp1,bmp2;
    2.    //bmp1 là ảnh chúng ta đã load vào ):)T
    3.             int d1 = (int)(Math.Tan(45) * bmp1.Height);
    4.             Bitmap bmp2 = new Bitmap(bmp1.Width + d1, bmp1.Height);
    5.             Rectangle rec1 = new Rectangle(0, 0, bmp1.Width, bmp1.Height);
    6.             Rectangle rec2 = new Rectangle(0, 0, bmp2.Width, bmp2.Height);
    7.  
    8.             BitmapData bdata1 = bmp1.LockBits(rec1, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    9.             BitmapData bdata2 = bmp2.LockBits(rec2, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    10.             int ofset1 = bdata1.Stride - bmp1.Width * 3;
    11.             int ofset2 = bdata2.Stride - bmp2.Width * 3;
    12.  
    13.             unsafe
    14.             {
    15.                 byte* ptr1 = (byte*)(bdata1.Scan0);
    16.                 byte* ptr2 = (byte*)(bdata2.Scan0);
    17.                 ptr2 += d1 * 3;
    18.                 for (int i = 0; i < bmp1.Height; i++)
    19.                 {
    20.                     for (int j = 0; j < bmp1.Width; j++)
    21.                     {
    22.                         ptr2[0] = ptr1[0];
    23.                         ptr2[1] = ptr1[1];
    24.                         ptr2[2] = ptr1[2];
    25.                         ptr1 += 3;
    26.                         ptr2 += 3;
    27.                     }
    28.                     ptr2 += ofset2 + d1 * 3 - 3;
    29.                 }
    30.             }
    31.             bmp2.UnlockBits(bdata2);
    32.             pictureBox2.Image = bmp2;
    33.         }
    Đã được chỉnh sửa lần cuối bởi huuhung : 10-11-2011 lúc 05:09 PM. Lý do: cho code vào thẻ

  2. #2
    Ngày gia nhập
    11 2008
    Nơi ở
    An Giang
    Bài viết
    502

    Trong Picturebox có hỗ trợ thuộc tính nghiêng ảnh bạn thữ dùng :
    Visual C# Code:
    1.  pictureBox.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
    nếu muốn nghiêng 1 cách chi tiết hơn bạn có thể tham khảo thêm ở đây
    Ref Link Code:

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

    Mặc định Day La Bai Cua Mjnh Cau Tham Khao Nha

    private Bitmap Nghieng45(Bitmap goc)
    {
    Bitmap KetQua = new Bitmap(goc.Height + goc.Width, goc.Height);
    BitmapData bmpData = goc.LockBits(new Rectangle(0, 0, goc.Width, goc.Height), ImageLockMode.ReadWrite, goc.PixelFormat);
    IntPtr ptr = bmpData.Scan0;
    BitmapData bmpDataKQ = KetQua.LockBits(new Rectangle(0, 0, KetQua.Width, KetQua.Height), ImageLockMode.ReadWrite,PixelFormat.Format24bppRgb );
    IntPtr ptrKQ = bmpDataKQ.Scan0;
    unsafe
    {
    byte* tro = (byte*)(void*)ptr;
    byte* tro2 = (byte*)(void*)ptrKQ;
    int ofset = bmpData.Stride - goc.Width * 3;
    int ofsetKQ = bmpDataKQ.Stride - KetQua.Width * 3;
    tro2 += (KetQua.Height * 3);
    for (int i = 0; i < goc.Height;i++ )
    {
    for (int j = 0; j < goc.Width;j++ )
    {
    tro2[0] = tro[0];
    tro2[1] = tro[1];
    tro2[2] = tro[2];
    tro += 3;
    tro2 += 3;
    }
    tro += ofset;
    tro2 += ((goc.Height - 1) * 3 + ofsetKQ);
    }
    }
    KetQua.UnlockBits(bmpDataKQ);
    goc.UnlockBits(bmpData);
    return KetQua;
    }

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

  1. Áo thun nghiêng đầu cá tính - dễ thương
    Gửi bởi yamekd92 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 30-01-2013, 06:42 PM
  2. Áo thun nam - Style nghiêng đầu bảo vệ trái đất
    Gửi bởi yamekd92 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 28-01-2013, 02:37 PM
  3. Hiệu chỉnh góc nghiêng văn bản. Giúp em phương pháp thực hiện với?
    Gửi bởi zzctctzzz trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 15-12-2012, 01:58 AM
  4. Xử lý góc nghiêng của ảnh trong C#?
    Gửi bởi dungbarca90 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 11-10-2011, 09:11 PM
  5. Vẽ một bông hoa bằng cách vẽ các elip nghiêng 1 góc G độ với các màu khác nhau?
    Gửi bởi kimhieuqtvn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 09-04-2011, 02:40 PM

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