Einzelnen Beitrag anzeigen

Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Bild ohne zu zeichnen bearbeiten - geht nicht mit Canvas

  Alt 30. Nov 2005, 17:50
Hi Robert,

Zitat von Robert Marquardt:
Irgendwie ist der ganze Ansatz verquer.
Bildbearbeiter:= TBildbearbeiter.Init;
Entweder ist das eine Klassenfunktion oder ein ungewoehnlich benannter Konstruktor.
Wahrscheinlich ein Konstruktor. Bitte beim Namen Create bleiben.
Ich halte mich da an die Bezeichner, die wir im Unterricht verwendet haben, also bitte ich die Diskussion mit meinem Infolehrer auszutragen.

Zitat von Robert Marquardt:
Image1.Canvas := TBildbearbeiter.SChwarzWeissBild(Image1.Canvas);

SChwarzWeissBild muesste nun eine Klassenfunktion sein. Das ist wahrscheinlich ein Fehler. TBildbearbeiter statt Bildbearbeiter.
Ja, das stimmt. Ich werd's ändern.

Zitat von Robert Marquardt:
Der zweite Codeblock ist Unsinn. Du weist jeden Pixel sich selbst zu.
Warum Floodfill nicht faerbt ist ohne Kenntnis des Bildinhalts nicht zu klaeren.
So unsinnig ist es nicht, denn ich habe in "Bild" das Ganze bearbeitet und weise jetzt Image1 das Canvas von "Bild" zu. Ich wollte damit versuchen, das Bild in "Bild" zu verändern und dann erst wieder ins Image zu zeichnen.

Zur "Kenntnis des Bildinhalts": Es ist eine einfache Bitmap mit 40*40 weißen Pixeln, nicht mehr und nicht weniger.

Zitat von Robert Marquardt:
Alles in allem scheinst du die grundlegenden Unterschiede und Zusammenhaenge von TCanvas, TBitmap und TImage nicht zu verstehen.
Ja, das stimmt. Ich habe bisher nur so gearbeitet, dass ich 2 Images hatte und in der direkten Übertragung der Pixel von Image1 nach Image2 die Farbwerte manipuliert habe. Jetzt wollte ich diese Manipulation der Farbwerte durchführen, und dann in das selbe Image zeichnen. Dazu muss ich jedoch meinem Dienst irgendwie das Bild mitgeben. Und da häng ich jetzt fest


@DGL-Luke
ich soll also das ganze Image übergeben? Hab ich das jetzt richtig verstanden?
  Mit Zitat antworten Zitat