30/09/2018, 16:04

Thắc mắc đồ họa trong c++

Hiện tại em đang có một bài tập lớn viết bằng ngôn ngữ c++, yêu cầu phải có đồ họa, em đang làm cái đề tài thi trắc nghiệm. Em muốn hỏi mọi người tài liệu để tạo đồ họa và cách ghép nối code của em, em cũng có tìm hiểu về MFC nhưng em cảm thấy nó quá sức đối với em vì em chưa học đến, phần đồ họa thầy cô trên trường cũng không dạy cho sinh viên nên em muốn nhờ mọi người tư vấn giúp em.

Nguyễn Minh Dũng viết 18:13 ngày 30/09/2018

Em nghiên cứu sử dụng Qt đi, dễ dùng hơn MFC. Mà sau này ra trường có kinh nghiệm Qt cũng là một lợi thế so với các bạn khác. Chịu khó nghiên cứu Qt tầm 1 tuần là làm được. Nhưng khi làm được rồi, em có thể tự tin ghi chữ Qt vào trong hồ sơ xin việc. Chắc chắn sẽ cạnh tranh hơn rất nhiều so với các bạn khác.

Qt là một framework nguồn mở vô cùng nổi tiếng, hữu ích. Dự án của bạn làm dưới Qt sẽ chạy được trên Windows, Linux, Mac, iOS, Android và Symbian, ..... Hệ thống thư viện của Qt rất tuyệt vời không kém gì .NET. Ngoài ra trong Qt project còn có Qt Creator là một IDE nguồn mở. Chính vì Qt Project nguồn mở cho nên cộng đồng của nó rất có kinh nghiệm, giỏi, nhiệt tình và vấn đề bạn cần giải quyết có thể được trả lời trực tiếp trong vòng tối đa 5-7 phút. http://qt-project.org/ IRC support channels:…
Nguyễn Tuấn Tiến viết 18:05 ngày 30/09/2018

Em cảm ơn anh nhiều, em sẽ nghiên cứu rùi có gì thắc mắc em sẽ hỏi tiếp

Nguyễn Minh Dũng viết 18:17 ngày 30/09/2018

Trước hết em có thể hiểu Qt là một Framework dùng để viết chương trình có giao diện, hoặc các chương trình đồ họa sử dụng C++. Để sử dụng Qt em phải download thư viện Qt về.

Về chương trình để viết code C++ dùng Qt framework thì em có 2 lựa chọn, hoặc là em dùng Visual Studio hoặc là em dùng Qt Creator. Trong trường hợp của em, để cho dễ anh nghĩ em nên dùng hẳn Qt Creator. Viết toàn bộ source code của mình trên Qt Creator.

Trong báo cáo môn học, em nên nêu rõ mình dùng Qt Creator. Như vậy giáo viên sẽ hiểu và chấm bài em dễ hơn. Khi download Qt Creator em có 2 lựa chọn. Hoặc là dùng bản miễn phí hoặc dùng bản tính phí 30 ngày. Nếu project của em nhắm dài hơn 30 ngày thì em dùng bản miễn phí đi.

Về phần kiến thức để có thể làm được Qt anh nghĩ nó cũng tốn thời gian tương đương hoặc thậm chí ít hơn so với MFC. Vậy nên anh nghĩ lựa chọn Qt là tốt nhất vì anh đã từng làm qua cả Qt và MFC nên anh có thể khẳng định điều này.

Em có thể contact @ngohuy để hỏi thêm nếu có thắc mắc. Theo anh biết thì Huy đang làm Qt.

KhoiNguyen viết 18:11 ngày 30/09/2018
YinYang's Programing Blog – 2 Jan 11

MFC – Lesson1: Hello World!

Đây là bài viết đầu tiên trong series hướng dẫn về lập trình VC++6 bằng MFC cho người bắt đầu. Thông qua các ví dụ đơn giản, mỗi bài sẽ cung cấp cho bạn những kiến thức cơ bản để bạn có thể bắt tay…

ý bạn là demo một app đơn giản thì mình nghĩ đọc 4 bài về MFC trong blog trên bạn có thể làm được . Còn về Qt tuần này mình cũng nhào vô vọc thử luôn

Ngo Duc Huy viết 18:12 ngày 30/09/2018

Qt rất dễ bạn chỉ cần vào help của nó xem doc là làm được, thật ra không cần học gì nhiều. Chỉ cần nắm chắc lập trình OOP. Mình tin chắc sau một tuần bạn sẽ master được cách làm việc với nó.

Nguyễn Tuấn Tiến viết 18:05 ngày 30/09/2018

@ngohuy Sao em cài qt mà khi tạo Project nó không có Qt Gui Application vậy ạ. Em thấy video hướng dẫn hầu hết đều viết code trong Qt Gui Application, nếu em tạo Project trong console thì lỗi một số thư viện.

Ngo Duc Huy viết 18:05 ngày 30/09/2018

@tuantien8979 Bạn tạo như thế nào vậy? Bạn có File > New File or Project > chọn QWidget Project > Qt Gui Application chưa ah?

Ngo Duc Huy viết 18:06 ngày 30/09/2018

Bạn thử làm kĩ giống như trong hướng dẫn này: https://www.youtube.com/watch?v=HiOOWDb4YjE

Nguyễn Tuấn Tiến viết 18:13 ngày 30/09/2018

@ngohuy Em xem video rùi nhưng em thấy không có những cái giống như trong video, em nghĩ chắc do phiên bản của em, vì em dùng bản free chứ không phải bản 30 ngày. Không biết có phải không nữa , http://qt-project.org/downloads đó là trang em tải qt

Nguyễn Minh Dũng viết 18:13 ngày 30/09/2018

Cái phiên bản trong video hình như là bản cũ. Nếu em mới download là bản mới rồi. Em tìm tìm thử xem. Suy nghĩ theo hướng tìm cái gì đó để tạo GUI Application là được.

Ngo Duc Huy viết 18:05 ngày 30/09/2018

tuantien8979 Bạn pritvate message cho mình code để teamview nhé

Nguyễn Tuấn Tiến viết 18:09 ngày 30/09/2018

tuantien8979 Bạn pritvate message cho mình code để teamview nhé

Em sent message rùi nha anh @ngohuy

Ngo Duc Huy viết 18:17 ngày 30/09/2018

@tuantien8979 mình chưa thấy có PM

Thu Thuỷ viết 18:13 ngày 30/09/2018

anh cho e hỏi!
.Net framework là 1 tập các thư viện, và openGL là 1 trong các thư viện đó hả?

Nguyễn Minh Dũng viết 18:17 ngày 30/09/2018

.Net framework là 1 tập các thư viện,

Đúng vậy: https://en.wikipedia.org/wiki/.NET_Framework

openGL là 1 trong các thư viện đó hả?

Không, OpenGL là thư viện Open Source viết bằng C++

Thu Thuỷ viết 18:19 ngày 30/09/2018

giữa Qt creator với visual studio cái nào nặng máy hơn anh?
em học openGL, mà muốn thử sử dụng Qt creator cho biết

Nguyễn Minh Dũng viết 18:15 ngày 30/09/2018

chắc là Visual Studio. Máy anh hay xài thường là máy công ty nên anh ít để ý đến mấy cái này. khoe máy mạnh kaka

Văn Dương viết 18:07 ngày 30/09/2018

Mình thực hiện code :

for(int y=0;y<__height;y++) // __height là chiều cao bức ảnh.
{
     for(int x=0;x<__stride;x+=4) // stride là số byte dữ lieu trên 1 line ngang của ảnh = width*4
     {
          img.scanline(y)[x]++; // tang màu Blue lên 1 đơn vị
          img.scanline(y)[x+1]++; // tang màu Green lên 1 đơn vị
          img.scanline(y)[x+2]++; // tang màu Red lên 1 đơn vị
     }
} 

Nhưng trong QT nó chạy chậm quá. Mặc dù mình đã build ở Release.
Nó chạy chậm ngang với C#. Có lúc nó còn chậm hơn cả C#. Mình sai ở đâu nhỉ ?

Nguyễn Trọng Phương viết 18:19 ngày 30/09/2018

Nếu bức ảnh càng lớn độ phân giải càng cao thì chạy chậm là điều tất nhiên. Ví dụ bức ảnh 1800 X 1600 thì ứng với 1 dòng y sẽ là 1600 dòng x => 288000 lần thực hiện

Văn Dương viết 18:09 ngày 30/09/2018

Vấn đề là nó chạy chậm hơn bạn ạ.

Mình đã khắc phục được và nó chạy nhanh hẳn. Nhưng chỉ hơn code thuần C# tầm 1.2 lần.
Nếu mình dùng kết hơp C# và C++ thì cho kết quả nhanh hơn thuần C# là 3- đến 3.5 lần.

Như vậy QT đang không có được hiệu năng của C++ ?

Bài liên quan
0