Announcement

Collapse
No announcement yet.

Stimmt das so

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Stimmt das so

    Hallo,
    ich programmiere eigentlich in Delphi aber habe einen c-source auf delphi umgeschrieben und bin mir nicht gan sicher ob ich alles richtig gemacht habe insbesondere bei if-Auswahlen.

    Dass is der c Quelltext(Auszug):

    <PRE>

    Zwerg1 = ((Zwerg1<0) ? 0(Zwerg1>255) ? 255:Zwerg1));
    Graubild[z*MAX_X+s] = (unsigned char) Zwerg1;
    }

    // Nulldurchgangssuche und Umwandlung von einem Grauwertbild in ein S/W-Bild
    for (z=0; z<MAX_Y-1; z++)
    {
    for (s=0; s<MAX_X-1; s++)
    {
    if ((Graubild[z * MAX_X + s] == 0) &&
    (Graubild[z * MAX_X + s+1] >= SCHWELLE) ||
    (Graubild[z * MAX_X + s] >= SCHWELLE) &&
    (Graubild[z * MAX_X + s+1] == 0) ||
    (Graubild[z * MAX_X + s] == 0) &&
    (Graubild[(z+1) * MAX_X + s] >= SCHWELLE) ||
    (Graubild[z * MAX_X + s] >= SCHWELLE) &&
    (Graubild[(z+1) * MAX_X + s] == 0))
    Graubild[z * MAX_X + s] = 255;
    else Graubild[z * MAX_X + s] = 0;

    Hier der Delphi text :

    if zwerg1 <0 then zwerg1:=0 ;
    if zwerg1 >255 then zwerg :=255;
    if (0<zwerg1) and (zwerg1<255) then zwerg1:=zwerg1;
    drow[s].rgbtRed:=zwerg1;
    drow[s].rgbtGreen:=zwerg1;
    drow[s].rgbtBlue:=zwerg1;

    // Nulldurchgangssuche und Umwandlung von einem Grauwertbild in ein S/W-Bild

    if ( origrow[s].rgbtred = 0 ) and
    ( origrow[s+1].rgbtred >= schwelle ) or
    ( origrow[s].rgbtred >= schwelle ) and
    ( origrow[s+1].rgbtred = 0 ) or
    ( origrow[s].rgbtred = 0 ) and
    ( origrow1[s].rgbtred >= schwelle ) or
    ( origrow[s].rgbtred >= schwelle ) and
    ( origrow1[s].rgbtred = 0 ) then
    begin
    destrow[s].rgbtred:=255;
    destrow[s].rgbtblue:=255;
    destrow[s].rgbtgreen:=255;
    end else begin
    destrow[s].rgbtred:=0;
    destrow[s].rgbtblue:=0;
    destrow[s].rgbtgreen:=0;

    </PRE>

    Falls ein fehler enthalten ist bitte posten!

    Danke KW!

  • #2
    Ich weiß nicht, wie es mit der Logik in Delphi/Pascal ist.
    Bei C/C++ hat && einer höhere Präferenz als ||.
    Im Zweifelsfall sollte man also Klammern setzen.

    Matthia

    Comment

    Working...
    X