PDA

View Full Version : hỏi về set palette



whitepenguin
06-09-2004, 11:16
cho tui hỏi ,là làm thế nào có thể xài được 256 trong 320x200 resolution ,và các để thiết lập màu như thế nào ,tui vô trong đó chỉ có thấy 16 màu trong bảng màu thui , tui dùng thủ tục putpixel(int x,int y,int col) mà col này cho dù có lớn cở mấy khi hiện ra màn hình cũng chỉ hiện các màu trong 16 màu thui ,hông hiện ra thêm được nữa
bác nào biết làm ơn chỉ giúp tui với ,còn nữa nếu được hãy giải thích kỹ giúp tui về palette
theo ý tui hiểu thì palette khi mới thiết lập graphic mode thì chỉ có 16 màu thui ,0->15 , nó có phải là một mãng lưu trong bô nhớ không hả các bác

bete
06-09-2004, 14:02
Thân gửi whitepenguin: bạn thử vô

http://garbo.uwasa.fi/pc/turbopas.html

=> download vga256.zip => có ví dụ mẫu bằng pascal (tuy 256 màu nhưng độ phân giải là 320x200: hơi thấp)

(HSI2RGB.PAS: chuyển đổi thang màu HSI qua RGB, có thang xám nữa thì phải)

Từ Pascal, bạn có thể thử đổi qua C/C++ (tui thấy Pascal mà chạy cũng lẹ lắm) (và tui nghĩ BGI là chung cho Turbo/Borland Pascal/C)

(nếu có được độ phân giải cao hơn; 640x400 chẳng hạn thì tốt => để tui kiếm tiếp )

-thân

whitepenguin
08-09-2004, 11:27
Bác có kiếm được cái nào viết bằng assembly hông chi tui với ,pascal tui bỏ lâu lắm rùi ,hoặc c++ cũng được

bete
08-09-2004, 18:04
Thân gửi whitepenguin:

Nếu mình viết bằng ASM thì phải viết lấy các thủ tục vẽ điểm, đường (thẳng, tròn, ..), tô màu. Tìm trên mạng có người cho sẵn luôn (tui có thấy qua 1 lần nhưng chả nhớ ở đâu, WP thì tìm lại coi).

Cái link sau thì có nói sơ về mode 256 màu 320x200 bằng ASM:
http://www.angelfire.com/pe/kalpesh/vga.html

Còn cái link trong bài trước http://garbo.uwasa.fi/pc/turbopas.html :

HSI2RGB.PAS : code rất đơn giản bạn chỉ cần biết sơ về Pascal là cũng có thể đổi qua C

VGADEMO.PAS: code rất dài nhưng mình sẽ thấy không cần viết lại mấy cái thủ tục vẽ mà xài lại của Graph unit.

-thân