Tạo hình nền cho giao diện GUI

Chào các bạn.

Trong bài này mình sẽ hướng dẫn các bạn tạo hình nền hoặc một phần của giao diện GUI.

Ý tưởng: dùng một Axes control để load hình ảnh. Như vậy, ngay khi chạy GUI thì ảnh đã hiển thị lên axes rồi nên trông như là hình nền của GUI vậy. Vì thế, chúng ta phải viết lệnh hiển thị hình ảnh vào hàm CreateFcn: là hàm được gọi lên trước khi giao diện GUI hiển thị trước người dùng.

Các bạn tạo một giao diện GUI đơn giản gồm có: axes control với kích thước chính là vùng các bạn cần đặt hình nền. Các điều khiển khác các bạn đặt trên cái axes này nên mình chỉ thêm vài điều khiển nhưng không viết lệnh cho các điều khiển này.

Click vào Axes control chọn hàm CreateFunction:

Khi đó chúng ta chỉ cần gõ lệnh để hiển thị hình ảnh vào hàm này mà thôi:

Trong bài này mình chọn hình ở trong C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures, các bạn có thể chọn đường dẫn tùy ý đến hình mà các bạn thích hiển thị.

Để biết thêm về lệnh hiển thị hình ảnh, các bạn gõ lệnh:

help imshow

Vì bài này đơn giản nên mình không cần phải upload source lên cho các bạn nữa nhé.

Khi chạy chương trình sẽ hiển thị như thế này:


Chúc các bạn thành công.

{ 42 comments… add one }
  • hung_dtvt May 9, 2008, 9:17 am

    Sao em là như anh vậy cuối cùng hiện cái hình bên trên có thêm cái đường dẫn nữa anh ơi.:D 😀 😀

    Reply
  • TRALAM May 17, 2008, 2:38 am

    Anh ơi, em muốn đưa hình ảnh kiểu như thế này: trong màn hình chính em đặt một nút bấm, kích vào nó thì hiện ra hình ngay mà cái hình ở dạng nguyên thủy của nó (đuôi file là gì thì giữ nguyên), chứ em ko muốn đưa cái hình này vào một file GUI khác được ko hả anh?

    Reply
  • Heoratmap May 24, 2008, 8:39 pm

    Anh oi! Anh cho em hoi nha! O day la minh hien thi mot file anh co san ha anh! Con neu minh muon tao nut nhan thi lam sao day

    Reply
  • bqthanh June 24, 2008, 8:36 am

    anh Bắc ơi, làm sao quay lại cái trang mà mình đã thiết kế, sau khi đóng nó em muốn sữa đổi thiết kế thì ko biết vô chỗ nào để sữa

    Reply
  • bqthanh June 25, 2008, 9:17 pm

    chào anh Bắc.Trong cái viewCallback thì có 4 cái là:
    callback,creatFcn,deleteFcn,ButtondownFcn,KeypressFcn.
    anh có thể nói rõ chức năng của từng cái giúp em không ạ, lúc nào thì ta nên dùng cái này, được phép dùng cái này trong trường hợp nào.

    Làm phiền anh quá. Chúc anh thành công trong sự nghiệp

    Reply
  • bqthanh June 27, 2008, 2:53 am

    chào anh Bắc. Anh có thể cho em địa chỉ mail của anh được không ạ. Em muốn gửi bài để anh xem giùm em.

    cảm ơn anh nhiều

    Reply
  • bqthanh June 27, 2008, 11:04 pm

    Chào anh.

    Cái đồ án tốt nghiệp 04.06.08.pps mà anh đã làm đó. Anh còn tài liệu hay anh biết link nào chỉ về cách để làm báo cáo dạng pps này không ạ,nếu còn anh có thể share cho em được ko ạ. Báo cáo dạng này thích thật hay hơn powerpoint nhiều.

    Cảm ơn anh.Hỏi bài anh nhiều mà quên hỏi thăm: Hiện nay anh đang làm gì?

    Chúc anh hạnh phúc và thành công trong sự nghiệp.

    Reply
  • bqthanh June 28, 2008, 6:57 am

    Chào anh Bắc.

    vậy chắc là em ko có cơ hội làm cái này rùi, em ở tận Nha Trang thì làm sao đến chỗ anh được, mà công nhận làm slide dạng đó báo cáo sẽ rất lôi cuốn người xem hơn nhỉ. Tiết thật không có cơ hội để học hỏi anh rùi,đúng là không được học ở thành phố lớn nên thiếu đủ thứ anh ơi, thiếu thầy giỏi, bạn giỏi để học hỏi…

    À anh Bắc ơi khi nào anh rãnh anh xem giúp em cái chương trình đó với, em đang rất rất cần để làm tiếp, sắp tới thời gian phải nộp bài cho Thầy rùi

    chúc anh hạnh phúc và thành công trong sự nghiệp.

    Reply
  • bqthanh June 28, 2008, 10:51 am

    Chào anh

    Làm phiền anh nhiều quá ngại ghê, làm anh phải cài lại win XP nữa, thôi cái pps em chắc chắn sẽ tự tìm hiểu được anh khỏi phải gửi,dù sao cũng cảm ơn anh nhiều. Nói thật mấy hôm trước em như đứa bé mới tập bò trong ma trận Matlab còn bây giờ thì em đã chuyển sang giai đoạn đi rùi anh Bắc à (bắt đầu hiểu rõ hơn).

    chúc anh hạnh phúc và thành công trong sự nghiệp.

    Reply
  • bqthanh June 29, 2008, 9:12 pm

    Chào anh!

    Anh Bắc có biết hàm nào trong Matlab làm cho chữ chạy không ạ.

    Chúc anh thành công trong công việc.

    Reply
  • bqthanh June 30, 2008, 2:42 am

    Hi Anh.
    Anh có thể nói cụ thể hơn không ạ, em đọc help nhưng vẫn chưa làm được. À anh Bắc đã xem giúp em cái chương trình đó chưa ạ,anh chỉ cần bỏ hết các cái axes chỉ giữ lại 1 cái axes để load image lên mà không có báo lỗi là ok rùi anh ạ.

    chúc anh thành công

    Reply
  • bqthanh July 1, 2008, 1:56 am

    Hi anh.
    Em cho chữ chạy được rùi. Cảm ơn anh nhiều
    Chúc anh thành công trong công việc.

    Reply
    • quang December 27, 2010, 1:29 pm

      ban oi co the share cho minh cai chay chu trong lap tring guide matlab dc khong minh lam mai nhung ko ra

      Reply
  • Никита Хрущев May 2, 2009, 5:12 am

    Обратись ко мне в аську 126407165. Есть кое-что по твоему вопросу.

    Reply
    • ngohaibac May 2, 2009, 9:46 am

      Я прошу прощения, у меня нет учетной записи ICQ. Вы можете связаться со мной через Yahoo: haibac_ac_hut

      Reply
  • Adobe Fotoshop CS3 May 4, 2009, 1:08 pm

    С майскими праздниками вас, между прочим!

    Reply
  • Биохимик May 14, 2009, 3:13 am

    Чего-то никто мне отвечать не хочет 🙁

    Reply
  • Kieu Minh Giap April 16, 2010, 1:31 pm

    anh làm ơn cho em hỏi khi thiết kế giao diện trên GUI em dùng các pushbutton để gọi các chương trình con vẽ đồ thị thì nó hiển thị toàn màn hình GUI nên khi muốn thực hiện nút nhấn tiếp theo em phải tắt GUI này đi và chạy lại,vậy em muốn làm cho nó(đồ thị được hiển thị)chỉ nằm trên 1 axes thì phải làm sao?mong anh giúp đỡ.Cảm ơn anh nhiều!

    Reply
    • ngohaibac April 16, 2010, 5:47 pm

      Chào em.

      Trước khi gọi lệnh hiển thị ảnh, em dùng lệnh axes để cho Matlab biết hiển thị lên axes chứ k phải lên figure. Ví dụ:
      axes(handles.axes1);

      Chúc em thành công.

      Reply
  • vinhtungbk October 19, 2010, 7:00 pm

    anh bắc ơi! cho em hỏi em muốn tạo hình nền cho giao diện gui mà em định copy code vào USB
    nộp cho thầy giáo, vậy làm sao để kéo hình nền đi theo cho giao diện em co phai thay đổi đường dẫn vào trong usb không
    cảm ơn anh nhiều!

    Reply

Leave a Comment