LABSKY的bsanlang网友编写的散点图解析代码和修正,演示的时候把散点图的原始代码保存成graph.txt。 代码如下(delphi:),其中graph.txt为两中括号中的内容,去掉中间的空格,原理,实际上就是取每 一位的数据看是否为1或0,如果1就画
procedure TForm1.Button1Click(Sender: TObject); var I, X, Y: Integer; Stream: TMemoryStream; C2: Array[0..1] of Char; Points: Array[0..127, 0..15] of Byte; M: Byte; begin Stream := TMemoryStream.Create; try Stream.LoadFromFile('c:\graph.txt'); Stream.Seek(0, 0);
for I := 0 to 2047 do begin Stream.Read(C2, 2); Points[I div 16, I mod 16] := StrToInt('$' + C2); end; // while finally Stream.Free; end;
for Y := 0 to 127 do // Iterate begin for X := 0 to 15 do // Iterate begin for I := 0 to 7 do // Iterate begin if I = 0 then M := $80 else M := $80 shr I;
if Points[Y, X] and M = M then Canvas.Pixels[Y, X * 8 + I + 1] := clBlack; end; // for end; // for end; // for end;
修正一下
for I := 0 to 7 do // Iterate begin M := $80 shr I;
if Points[Y, X] and M = M then Canvas.Pixels[X * 8 + I, Y] := clBlack; end; // for
下面是一组有关KX21的内容
要设置为:K-DPS不然没图,我做过这台机器,我们的LIS就有图,以下是资料给你参考一下:
---------
1、直方图数据包含在K-DPS格式中
2、wbc图由50个点连接而成,横坐标体积被均分为49份,从0到300fl;对应50个点为细胞数量值,一个字
符为一个值, 比如:字符'1',其Ascii码值为49,表示细胞数量为49,就是纵坐标。
2、rbc图由50个点连接而成,横坐标体积被均分为49份,从0到250fl;对应50个点为细胞数量值,一个字
符为一个值, 比如:字符'1',其Ascii码值为49,表示细胞数量为49,就是纵坐标。
3、plt图由40个点连接而成,横坐标体积被均分为39份,从0到40fl;对应40个点为细胞数量值,一个字
符为一个值,比 如:字符'1',其Ascii码值为49,表示细胞数量为49,就是纵坐标。
4、辨别线数据连在一起,共为8个字符,其中wbc为4个字符,rbc为2个字符,plt为2个字符;紧接于wbc
、rbc、p lt的直方图数据之后;
5、辨别线数据,16进制显示为:05 0D 12 31 04 31 01 1C; wbc为4个字符,rbc为2个字符,plt为2个字符: wbc中,05 对应 (5+1)* 6 = 30fl,0D 对应 (13 + 1) * 6 = 84fl,... rbc中,04 对应 (4+1)* 5 = 25fl,31 对应 (49 + 1) * 5 = 250fl,... plt中,01 对应 (1+1)* 1 = 2fl,1C 对应 (28 + 1) * 1 = 29fl,...
wbc由50个点(即50个字符)连线而成,包括鉴别线共54个字节;rbc
由50个点(即 50个字符)连线而成,包括鉴别线共52个字节;plt由40个点(即40个字符)连线而成,包
括鉴别线共42个字节
Laboman4.0
用户名:DBA
密码:SLJ(大小写忘了?)
laboman5.0
用户名:DBA
密码:a&s
|