Autor |
Beitrag |
jackle32
      
Beiträge: 183
Erhaltene Danke: 7
Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
|
Verfasst: Fr 30.11.07 00:39
Hallo,
ich benutze ein Canvas in einem Image, hab das jetzt so geschrieben,dass das Canvas nach und nach verschwindet und das Image darunter zu sehen ist. Das ganze ist ein runde Logo und daher benutze ich die Funktion "Pie" die direkt im Canvas enthalten ist. Das funktioniert auch schon super aber jetzt hab ich das Problem, dass ich zwar den eigentlichen "Kuchen" mit der Hintergrundfarbe füllen kann, ich aber trotzdem noch eine schwarze Linie außen rum hab. Das es so aussehen soll, dass das Image "einfach so erscheint" wäre es gut wenn man keine Begrenzunglinie sehen würde.
Daher meine Frage ob man da auch die Farbe ändern kann oder die Linine nicht mitzeichnen muss.
Hab dabei leider keine passende Stelle zum Umstellen gefunden. Hoffe von euch kann mir jemand helfen
Gruß Jack
_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Fr 30.11.07 00:42
Hallo,
versuch es mal mit Canvas.Pen.Color 
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
PeterPain
      
Beiträge: 83
|
Verfasst: Fr 30.11.07 01:02
Lannes hat folgendes geschrieben: | Hallo,
versuch es mal mit Canvas.Pen.Color  |
bzw Canvas.Pen.Style := psClear;
gruss
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Fr 30.11.07 01:08
Hallo,
ich hab auch noch was:
Canvas.Pen.Mode 
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
jackle32 
      
Beiträge: 183
Erhaltene Danke: 7
Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
|
Verfasst: Fr 30.11.07 09:51
Danke schon mal für die Antworten! Hat aber alles drei nichts genutzt. Ich weiß nicht wie ich es jetzt sagen soll aber es ist so wie es aussieht gar keine richtige Linie, zumindest sieht sie sehr komisch aus. Hab mal einen Screenshot davon gemacht vielleicht hat das Problem ja schon mal jemand gehabt.
Gruß Jack
Einloggen, um Attachments anzusehen!
_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Fr 30.11.07 15:27
Hallo,
aus dem Bild allein kann man schwer erkennen was in Deinem Code geändert werden muss, damit der Rand nicht gezeichnet wird.
Etwas Code von Dir wäre hilfreich. 
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
jackle32 
      
Beiträge: 183
Erhaltene Danke: 7
Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
|
Verfasst: Fr 30.11.07 16:02
Hi,
ich glaube nicht, dass ein Fehler im Code liegt. Scheint ehr sowas wie irgendwo eine Defaulteinstellung zu sein.
Hier aber mal mein anzeige Programm Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.Anzeige(Bild: TImage; Teilung: integer; var Teil: integer); var breite, hoehe,x,y: integer; begin Bild.Canvas.Brush.Color := clbtnface; bild.Canvas.FillRect(Bild.Canvas.ClipRect);
bild.Picture := Urbild.Picture; hoehe := Bild.Picture.Height; breite := Bild.Picture.Width;
self.Text(Teil/Teilung);
if (Teil < Teilung) then begin self.Koordinaten(Teilung, Teil, x, y); Bild.Canvas.Pie(0,0, breite,hoehe, (breite div 2),0,(breite div 2)+x,y+(hoehe div 2)); end else Teil := 0; end; |
Die verschiedenen Einstellungen für den Pen haben auch nix geholfen, kann da die Farben und Styles beliebig verändern und die Ausgabe bleibt immer die gleiche.
Gruß Jack
_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
|
|
jackle32 
      
Beiträge: 183
Erhaltene Danke: 7
Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
|
Verfasst: Fr 30.11.07 16:18
Hab jetzt in der Wiederherstellung des Bildes was geändert und auf einmal ging die Zuweisung der Styles und Farben
Find ich tierisch komisch ...
Danke trotzdem für die Mühen
Gruß Jack
_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
|
|
Biergeneral
      
Beiträge: 35
WIN XP
Delphi 7 Ent., Delphi 2007 Ent., C/C++ (Eclipse)
|
Verfasst: Do 06.12.07 01:02
Ich kann dir sagen warum da ein Rahmen drum gemalt wird
Bei Canvas.FillRect wird lediglich der Brush für die Zeichnung verwendet.
Nimmst du hingegen Canvas.Rectangle hast du eine Kombination aus Stift und Pinsel.
Der Stift ist dann verantwortlich für den Rahmen(Pen.Color, Pen.Mode, Pen.Style) und der Pinsel für die Füllung(Brush.Color, Brush.Style)
Wolltest du also ein Bild ohne Rahmen, wär das einfach
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| Brush.Color := clBtnFace; Brush.Style := bsSolid; Pen.Color := Brush.Color; Pen.Style := pmCopy;
Canvas.Rectangle(Canvas.ClipRect); |
|
|
|