0

这是 Small Basic 中的代码:

GraphicsWindow.CanResize = 0
GraphicsWindow.Width = 201
GraphicsWindow.Height = 300
X = 0
circumstance = 0

'Initialization
GraphicsWindow.SetPixel(100,0,"Black")
code = "01111111"


'Start
For i=1 To GraphicsWindow.Height
For X=0 To GraphicsWindow.Width
Program.Delay(1)

If X>0 Then
  If GraphicsWindow.GetPixel(X-1,i-1) = "Black" Then
    circumstance = circumstance + 1
  EndIf
EndIf  

If GraphicsWindow.GetPixel(X,i-1) = "Black" Then
  circumstance = circumstance + 10
EndIf

If X<GraphicsWindow.Width Then
  If GraphicsWindow.GetPixel(X+1,i-1) = "Black" Then
    circumstance = circumstance + 100
  EndIf
EndIf  

TextWindow.WriteLine(circumstance)
  EndFor
EndFor

它的作用是逐个像素地查看图形窗口。变量“情况”是它发现的。如果目标像素的左上角有黑色像素,则第一位为 1。如果目标像素的左上角有黑色像素,则第二位为 1。如果有黑色像素到目标像素的右上角,第三位数字为1。但无论我尝试什么情况总是输出000。

4

2 回答 2

0

GetPixel 一直为我工作。你用的是什么sb版本?顺便说一句,图形窗口需要用某种颜色绘制,虽然默认情况下它是白色的,但它不会返回白色,因为就像没有颜色一样。

于 2013-05-30T14:03:59.143 回答
0
  1. GetPixel 返回“#rrggbb”而不是颜色名称。
  2. GraphicsWindow 开头用“#000000”填充。但是颜色是透明的,所以你可以看到背景颜色。
于 2015-01-29T13:13:35.397 回答