我必须为学校制作一个程序,一个D-FlipFlop。要输入D和电子书/时钟,我想使用2个文本框。 (我还必须制作一个包含3个端口的程序,包含AND,NAND,OR,NOR,XOR端口,但这已经有效了。)
D
的输入可以是:000001111100000111111100000011
E
的输入可以是:000111000111000111000111000111
textbox1
的值必须转到picturebox
。因此,使用0
和1
,您可以绘制一条线并使触发器可视化。 textbox2
的值需要转到picturebox2
。
答案 0 :(得分:0)
这是可能的。您实际上需要将000001111100000111111100000011
或000111000111000111000111000111
转换为字节数组string
,byte[]
或Convert.ToByte(object value, IFormatProvider provider)
将被视为string input = "BINARY GOES HERE";
int numOfBytes = input.Length / 8; //Get binary length and divide it by 8
byte[] bytes = new byte[numOfBytes]; //Limit the array
for (int i = 0; i < numOfBytes; ++i)
{
bytes[i] = Convert.ToByte(input.Substring(8 * i, 8), 2); //Get every EIGHT numbers and convert to a specific byte index. This is how binary is converted :)
}
。为此,我们将使用input
byte[]
这将声明一个新字符串byte[]
,然后将其编码为字节数组(Stream
)。我们实际上需要将其作为PictureBox
将其用作MemoryStream
,然后将其插入我们的MemoryStream FromBytes = new MemoryStream(bytes); //Create a new stream with a buffer (bytes)
。为此,我们将使用Image
PictureBox
最后,我们可以简单地使用此流来创建我们的pictureBox1.Image = Image.FromStream(FromBytes); //Set the image of pictureBox1 from our stream
文件并将文件设置为private Image Decode(string binary)
{
string input = binary;
int numOfBytes = input.Length / 8;
byte[] bytes = new byte[numOfBytes];
for (int i = 0; i < numOfBytes; ++i)
{
bytes[i] = Convert.ToByte(input.Substring(8 * i, 8), 2);
}
MemoryStream FromBinary = new MemoryStream(bytes);
return Image.FromStream(FromBinary);
}
Decode(000001111100000111111100000011)
示例强>
Image
通过使用此功能,您可以随时调用,例如PictureBox
,它会将其转换为图像。然后,您可以使用此代码设置pictureBox1.Image = Decode("000001111100000111111100000011");
ArgumentException was unhandled: Parameter is not valid.
属性
{{1}}
重要提示:由于二进制代码无效,您可能会收到{{1}}这种情况。
谢谢, 我希望你觉得这很有帮助:)