Ramen um Bild



  • Bild ist schon vorhanden! ich versteh einfach nicht warum das nicht geht. wenn er denn mal auf irgendweine weise das rechteck malt, dann aber nur in schwarz.



  • Hallo

    Kann dein Problem nicht nachvollziehen. Die Verwendung von Pen ist korrekt, der Rahmen wird bei meinem Test ordentlich gezeichnet.

    bis bald
    akari



  • akari schrieb:

    Die Verwendung von Pen ist korrekt..

    BCB-Hilfe schrieb:

    Die Methode FrameRect zeichnet ein Rechteck und verwendet für den Rahmen die Eigenschaft Brush der Zeichenfläche.

    😕



  • Hallo

    Bei meinem BCB5 geht es trotz Hilfetext auch mit Pen.

    bis bald
    akari



  • Das Canvas macht echt komische sachen, die ich nicht wirklich nachvollziehen kann.

    was ich nu herausgefunden habe:

    Wenn man Stretch aktiviert hat muss man ein wenig umdenken weil man dennoch die größe des bildes nehmen muss (also ClientRect von Image geht dann nicht mehr)

    wenn ich ein weißes Bild lade, nimmt der die Farbe so wie ich sie haben will. wenn ich ein dunkles bild lade, nimmt der irgend eine dunkle farbe, warum hab ich noch nicht rausgefunden.

    bin echt dankbar wenn mir jemand das häkchen nennen kann was ich setzten muss damit canvas so funktioniert wie man es gewohnt ist.

    TRect test;
    	test.Right=Image1->Picture->Bitmap->Width;
    	test.Bottom=Image1->Picture->Bitmap->Height;
    
    	Image1->Picture->Bitmap->Canvas->Pen->Style=psSolid;
    	Image1->Picture->Bitmap->Canvas->Pen->Mode =pmCopy;
    	Image1->Picture->Bitmap->Canvas->Pen->Width=5;     		// <-- Strichdicke
    	Image1->Picture->Bitmap->Canvas->Pen->Color=clLime;     //<-- Farbe Strich
    	Image1->Picture->Bitmap->Canvas->Brush->Color=clRed;	// <-- Farbe Rahmen
    
    	Image1->Picture->Bitmap->Canvas->MoveTo(0,0);
    	Image1->Picture->Bitmap->Canvas->LineTo(300,300);
    	Image1->Picture->Bitmap->Canvas->FrameRect(test);
    


  • Hi,

    hier musst du das Rect fertig-definieren:

    test.Left = 0;
      test.Top  = 0;
    


  • das hat aber nichts damit zu tuen das sich canvas bei dunklen bildern anders verhält als bei hellen!



  • fragemann123 schrieb:

    das hat aber nichts damit zu tuen das sich canvas bei dunklen bildern anders verhält als bei hellen!

    Ne, nur damit, dass du den Rahmen überhaupt zu sehen bekommst.

    Im übrigen verhält sich Canvas bei "hellen" als auch "dunklen" Bildern gleichermassen.



  • An irgendwas muss es ja liegen das er den Rahmen mal in der gewünschten Farbe macht und mal nicht.

    Hab getestet:

    gleicher quelltext der per button ausgeführt wird.

    zur entwurfzeit hab mal ein weißes bild (gefüllt weiß) geladen dann ein schwarzes (gefüllt schwarz) dann ein normales Bild (graustufenbild) geladen.
    bei weiß und schwarz bekomme ich meinen grünen Rahmen bei meinem graustufenbild nicht. 😕

    Das ganze ist mir aber langsam echt zu hoch. Hab mir jetzt ein Panel hinter das Bild gelegt das ein bisschen größer ist und verändere von dem die Farbe. ist zwar nicht schön, aber funktioniert.



  • fragemann123 schrieb:

    graustufenbild ...

    Da haben wirs: die Pixelformate sind unterschiedlich.
    Frage beim Laden des Bildes das Pixelformat ab und setze danach die Farbe.

    Ein Graustufenbild gibt keinen bunten Rahmen...


Anmelden zum Antworten