c# - 在控制台应用程序中使用图像而不是文本

标签 c# c++ assembly fonts console

我有一个 Bitmap 对象,它有一些我想用来代替某些字符的图像(比如鱼或其他任何东西)。
例如,当用户从键盘按下“A”时,他会在控制台中看到一条鱼。

  • 注意 1:我知道我不能在 C# 中操作控制台的某些部分,我也不想这样做。我想做的是更改字符“A”的字体。

  • 注2:我的字体是lucida console 12。

  • 注意 3:我的解决方案很可能是错误的,所以我很乐意听到针对此问题的更好解决方案...

对于任何关心答案的人:

After some research I've realized that I used to look at solution in wrong way and to manipulate character bits you need assembly(8-16bit) interrupts , for more information you can search about "int 10H:11 service" (you can insert a strings of ones and zeros and get result...it works but only in XP [command prompt] and below systems you need to use DOSBOX emulator also you need to use c or c++)

最佳答案

控制台是一个操作系统窗口,用户可以在其中通过计算机键盘输入文本并读取计算机终端的文本输出,从而与操作系统或基于文本的控制台应用程序进行交互。

” em>"- MSDN

潜台词:控制台应用程序适用于TEXT ONLY

默认情况下,控制台应用程序不支持使用图像。 如果添加对 System.Drawing 的引用,则可以使用它们,如 C# Console Application - How to draw in BMP/JPG file using GDI+? 中所示, 但不在控制台窗口中显示它们。

如果仅限于控制台,您唯一的选择是 Unicode glyphs (又名 Emoji )。

引用How can I display extended Unicode character in a C# console?

关于c# - 在控制台应用程序中使用图像而不是文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26553565/

相关文章:

c# - 同一类上的两组序列化属性

c# - 如何在十亿像素位图上实现平移/缩放?

c++ - 宏功能未按预期扩展

security - 简单堆栈溢出的 Shellcode : Exploited program with shell terminates directly after execve ("/bin/sh")

assembly - 什么是非对齐访问? (ARM/凯尔)

c# - 重置使用 MEF 加载的控件

c# - 是否可以将 Azure 离线同步与 .Net Core 一起使用

c++ - 如何在 C++ 中传递 STL 对象的消息,例如 MPI 中的 std::map?

c++ - OpenCV:基于三角选择倾斜图像

c++ - 为什么gcc/clang要用两个128bit的xmm寄存器来传递一个值?