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

Đề tài: Có phải thêm enventHandler cho Paint event mới vẽ hình được không ?

  1. #1
    Ngày gia nhập
    11 2010
    Nơi ở
    Đại học CNTT - VNU
    Bài viết
    19

    Mặc định Có phải thêm enventHandler cho Paint event mới vẽ hình được không ?

    Mình đang muốn vẽ hình nhưng gặp một số thắc mắc sau, mong mọi người giúp đỡ.
    Đầu tiên, mình có một đoạn code design form như thế này
    Visual C# Code:
    1. public Form1()
    2.         {
    3.             Graphics g = this.CreateGraphics();
    4.             Bitmap myTest = new Bitmap("E:\\Grass1.png");
    5.             g.DrawImage(myTest, 0, 0);
    6.         }
    nhưng kết quả không vẽ hình ra được.
    Vậy cho mình hỏi, khi chúng ta muốn vẽ hình gì đó, thì bắt buộc phải thêm event Handler vào Paint như sau à
    Visual C# Code:
    1. public Form1()
    2.         {
    3.             InitializeComponent();
    4.             // initialize size of form
    5.             this.Height = (ushort)ConstNumber.formHeight;
    6.             this.Width = (ushort)ConstNumber.formWidth;
    7.             this.Paint +=new PaintEventHandler(VeHinh);
    8.         }
    9.         private void VeHinh(object sender, PaintEventArgs e)
    10.         {
    11.             Bitmap myTest = new Bitmap("E:\\Grass1.png");
    12.             e.Graphics.DrawImage(myTest, 0, 0);
    13.         }
    14.         }
    Mong mọi người giúp đỡ !

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Ko riêng gì c#, tất cả các ứng dụng có cửa sổ trong windows đều phải vẽ ở trong hàm OnPaint ( sự kiện WM_PAINT). Vẽ ở những chỗ linh tinh khác đều ko được lưu lại, khi cửa sổ refresh, phóng to, thu nhỏ, ... đều sẽ bị mất hết.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    11 2010
    Nơi ở
    Đại học CNTT - VNU
    Bài viết
    19

    Vậy bạn cho mình hỏi thêm một số điều nữa được không ? Mình còn gà C# quá..
    Đó là về vấn đề vẽ hình (cụ thể ra là vẽ sprites)
    Khi mình vẽ từng khung hình của sprites game thì lịa xuất hiện hiện tượng các khung hình cũ vẫn còn trên màn hình. Vậy cách xử lý ở đây là gì vậy ? Bạn giúp mình với nha, cảm ơn nhiều

  4. #4
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Ý bạn là xóa các hình đã vẽ đi phải ko? nếu như thế thì đặt màu nền, hoặc là vẽ lại các khung hình cũ tại đúng vị trí đó và có màu=màu nền.
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  5. #5
    Ngày gia nhập
    11 2010
    Nơi ở
    Đại học CNTT - VNU
    Bài viết
    19

    Cảm ơn bạn nhiều, mình hiểu rồi. Mọi người xem dùm mình đoạn code sau, sao nó không vẽ được hình nhỉ ?
    Visual C# Code:
    1. public Form1()
    2.         {
    3.             InitializeComponent();
    4.  
    5.             Graphics g = this.CreateGraphics();
    6.            
    7.             Image myImage = Image.FromFile("E:\\Red.png");
    8.             g.DrawImage(myImage, new Point(10, 10));
    9.            
    10.         }

  6. #6
    Ngày gia nhập
    11 2010
    Nơi ở
    Đại học CNTT - VNU
    Bài viết
    19

    Mặc định Có phải thêm enventHandler cho Paint event mới vẽ hình được không ?

    Xin lỗi mọi người, mình mới tìm ra được câu trả lời....
    Thực ra hàm drawImage vẫn vẽ được hình như thường nhưng do nó nằm ở trong Form_Load nên bị OnPaintBackGround vẽ đè lên nên sẽ không thấy được hình

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

  1. thêm event vào mảng object trong VC++.NET như thế nào?
    Gửi bởi suapv trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 22-05-2012, 03:24 PM
  2. công ty event, công ty sự kiện, cho thuê thiết bị event Phú Tinh
    Gửi bởi VMHGroup 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: 22-10-2011, 10:22 PM
  3. Xử lý phần undo và redo trong paint?
    Gửi bởi votinhtv trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 21-08-2011, 09:57 PM
  4. delegate & event trong C#. giúp mình hiểu thêm
    Gửi bởi quicksilver89 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 01-04-2010, 10:07 AM
  5. Cách vẽ đa giác giống như Paint trên VC++?
    Gửi bởi trickyboy trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 7
    Bài viết cuối: 29-11-2006, 09:24 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