nicht alle Farben funktionieren



  • nicht alle Farben funktionieren

    Hallo,
    habe das Problem mit bestimmten Farben.
    Wenn ich statt Blau Orange "0x002C8BFF" einsetze, wird die Image beim Click > Orange <, aber beim loslassen der Maustaste nicht mehr > Weis <.
    Welchen Fehler habe ich gemacht?

    TFrameImageBar::GetSetPixel(int iSender,int iIndex)
    //
    //    erstellt am:  20. Juli 2006     geändert am:    21. Juli 2006
    //
    {
    //
    /*
    Wenn Sie zur Festlegung von TColor nicht die Konstanten aus der Unit Graphics,
    sondern eine 4-Byte-Hexadezimalzahl verwenden, geben die drei niederwertigen
    Bytes die RGB-Farbintensität für Blau, Grün und Rot an.
    Der Wert 0x00FF0000 entspricht einem reinen Blau mit voller Intensität,
    der Wert 0x0000FF00 einem reinen Grün und
    der Wert 0x000000FF einem reinen Rot.
    der Wert 0x00000000 gibt Schwarz
    der Wert 0x00FFFFFF Weiß
    der Wert 0x002C8BFF Orange
    */
    //
    bool boColor = false;
    AnsiString OldColor;
    AnsiString NewColor;
    //
        //
        switch (iIndex)
          {
            //
            case 1:     //  Pixel - Farbe ändern  - - > >  Weiß  < < - -  Up
              {
              OldColor = ColorToString(NewImage[iSender]->Canvas->Brush->Color);
              NewColor = "0x00FFFFFF";    //  Weiß        
              NewImage[iSender]->Canvas->Brush->Color = StringToColor(NewColor);
              boColor = true;
              break;
              }
            //
            case 2:     //  Pixel - Farbe ändern  - - > >  Gelb  < < - -  Move
              {
              OldColor = ColorToString(NewImage[iSender]->Canvas->Brush->Color);
              NewColor = "0x0000FFFF";   //   Gelb     //"0x002C8BFF";    //  Orange
              NewImage[iSender]->Canvas->Brush->Color = StringToColor(NewColor);
              boColor = true;
              break;
              }
            //
            case 3:     //  Pixel - Farbe ändern  - - > >  Blau  < < - -  Click
              {
              OldColor = ColorToString(NewImage[iSender]->Canvas->Brush->Color);
              NewColor = "0x00FF0000";   //   Blau    
              NewImage[iSender]->Canvas->Brush->Color = StringToColor(NewColor);
              boColor = true;
              break;
              }
            //
            case 4:     //  Pixel - Farbe ändern  - - > >   < < - -
              {
              break;
              }
            //
            default:
              {
              return 0;
              }
            //
          }
        //
        if (boColor)
          {   //  boColor
            //
            for (int x=0; x<iPixels-1; x++)
              {   //  x=0; x<iPixels-1; x++
                //
                for (int y=0; y<iPixels-1; y++)
                  {   //  y=0; y<iPixels-1; y++
                    //
                    if (NewImage[iSender]->Canvas->Pixels[x][y] == StringToColor(OldColor))
                      {   //  NewImage[iSender]->Canvas->Pixels[x][y] == StringToColor(OldColor)
                      NewImage[iSender]->Canvas->Pixels[x][y] = StringToColor(NewColor);
                      }   //  NewImage[iSender]->Canvas->Pixels[x][y] == StringToColor(OldColor)
                    //
                  }   //  y=0; y<iPixels-1; y++
                //
              }   //  x=0; x<iPixels-1; x++
            //
          }   //  boColor
        //
        boColor = false;
        //
      //
    //
    return 0;
    }
    //---------------------------------------------------------------------------
    

    Gruß Siegfried 😞



  • warum zum teufel verwendest du keine TColor (oder integer) sondern Strings für die Farben? Bei so nem Bockmist (sorry) brauchst dich auch nicht wundern, wenn es nicht funktioniert!


Anmelden zum Antworten